Function at 0x489030
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x158
mov ecx, dword [esp + 0x16c]
movzx edx, byte [ecx]
cmp edx, 0x31
je 0x4892e1
mov eax, edx
and eax, 1
inc eax
xor eax, edx
je 0x4892e1
mov byte [esp + 0x3a], al
mov byte [esp + 0xce], al
mov byte [esp + 0x23], al
mov byte [esp + 0x5f], al
mov byte [esp + 0x4b], al
mov byte [esp + 0xda], al
mov byte [esp + 0x8f], al
mov byte [esp + 0x4a], al
mov byte [esp + 0xcf], al
mov byte [esp + 0x33], al
mov byte [esp + 0x31], al
mov byte [esp + 0x10f], al
mov byte [esp + 0x2b], al
mov byte [esp + 0x2a], al
mov eax, 4
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0xfc], esi
mov dword [esp + 0x12c], esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], esi
mov dword [esp + 0xe8], esi
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x140], esi
mov dword [esp + 0x154], esi
mov dword [esp + 0x148], esi
mov dword [esp + 0x144], esi
mov dword [esp + 0x98], esi
mov dword [esp + 0xf4], esi
mov dword [esp + 0x14c], esi
mov dword [esp + 0x150], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x100], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x110], esi
mov dword [esp + 0x120], esi
mov dword [esp + 0x124], esi
mov dword [esp + 0x13c], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0xa4], esi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xdc], esi
mov dword [esp + 0x104], esi
mov dword [esp + 0x130], esi
mov dword [esp + 0x138], esi
mov dword [esp + 0x114], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x11c], esi
mov dword [esp + 0x108], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0xd0], esi
mov byte [esp + 0xdb], bl
mov byte [esp + 0x32], bl
mov byte [esp + 0xf], bl
mov byte [esp + 0xc7], bl
mov byte [esp + 0x3b], bl
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x118], esi
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xb0], edx
cmp eax, 4
mov ebx, dword [esp + 0xd0]
je 0x4897fc
xor eax, eax
test al, al
jne 0x4897fc
mov dword [esp], ecx
mov dword [esp + 4], 0x7d899d
call fcn.007c5970
mov ecx, eax
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
mov dword [esp + 0xa8], 1
cmp ecx, eax
je 0x48c8cc
mov edi, 0xd
mov al, 0x12
mov byte [esp + 0x3b], al
mov dword [esp + 0x134], 0
cmp edi, 6
jne 0x48979d
mov dword [esp + 0xa8], 1
mov eax, edi
and eax, 1
xor eax, edi
not eax
test eax, eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0xbc], eax
mov edx, 0
mov edi, 0
jne 0x48c8cc
jmp 0x489962
mov eax, 9
movzx ecx, byte [ecx + 1]
cmp ecx, 0x32
mov cl, 0x31
mov dword [esp + 0xb0], ecx
je 0x4894f4
xor ecx, ecx
test cl, cl
mov byte [esp + 0x3a], cl
mov byte [esp + 0xce], cl
mov byte [esp + 0x4b], cl
mov byte [esp + 0x3b], cl
mov byte [esp + 0xcf], cl
mov byte [esp + 0x32], cl
mov byte [esp + 0x23], cl
mov byte [esp + 0x5f], cl
mov byte [esp + 0xc7], cl
mov byte [esp + 0x33], cl
mov byte [esp + 0x31], cl
mov byte [esp + 0x10f], cl
mov byte [esp + 0x2b], cl
mov byte [esp + 0x2a], cl
mov dword [esp + 0x88], ecx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x154], ecx
mov dword [esp + 0x148], ecx
mov dword [esp + 0x144], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], ecx
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x138], ecx
mov dword [esp + 0x114], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x108], ecx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x118], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x134], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x80], ecx
mov byte [esp + 0xdb], cl
mov byte [esp + 0xf], cl
mov byte [esp + 0xda], cl
mov byte [esp + 0x8f], cl
mov byte [esp + 0x4a], cl
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x128], ecx
je 0x4897fc
jmp 0x4896c9
mov byte [esp + 0x3a], cl
mov byte [esp + 0xce], cl
mov byte [esp + 0x4b], cl
mov byte [esp + 0x3b], cl
mov byte [esp + 0xda], cl
mov byte [esp + 0x8f], cl
mov byte [esp + 0x4a], cl
mov byte [esp + 0xcf], cl
mov byte [esp + 0x33], cl
mov byte [esp + 0x10f], cl
mov byte [esp + 0x2b], cl
mov byte [esp + 0x2a], cl
mov byte [esp + 0xdb], cl
mov byte [esp + 0x32], cl
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x118], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x134], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x154], ecx
mov dword [esp + 0x148], ecx
mov dword [esp + 0x144], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], ecx
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x138], ecx
mov dword [esp + 0x114], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x108], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x68], ecx
mov byte [esp + 0xf], cl
mov byte [esp + 0x23], cl
mov byte [esp + 0xc7], cl
mov byte [esp + 0x31], cl
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x128], ecx
cmp eax, 9
jne 0x48975c
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x48975c
mov edi, 0x16
mov ebp, 0xd
mov al, 0x34
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x16c]
mov dword [esp], eax
mov dword [esp + 4], str.127.0.0.1
call fcn.007c58b0
mov ecx, eax
mov dword [esp + 0xa8], 1
test ecx, ecx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x98]
mov ebx, eax
mov cl, byte [esp + 0xc7]
mov byte [esp + 0x5f], cl
mov dword [esp + 0x34], eax
jne 0x48b22a
jmp 0x489e5f
mov dl, byte [esp + 0xc7]
mov dh, dl
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x34], ebp
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0x150]
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xd0], ebp
mov esi, dword [esp + 0x68]
jmp 0x48adb9
mov dword [esp + 0xa8], 1
mov eax, dword [esp + 0x16c]
mov dword [esp + 0xbc], eax
jmp 0x48995e
mov ebx, 0xee
xor bl, 0xc8
mov dword [esp + 0xc0], ebx
add eax, edx
setne al
movzx eax, al
add ecx, eax
mov al, byte [edi]
mov dword [esp + 0xb0], eax
mov eax, ecx
or eax, 2
mov edx, ecx
xor edx, 2
mov esi, eax
add esi, edx
setne bl
movzx esi, bl
cmp ecx, esi
jb 0x4897c0
mov ebx, ebp
mov eax, 0xf
mov cl, 0x3d
mov dword [esp + 0x128], ecx
mov byte [esp + 0x4a], 0x78
mov byte [esp + 0x8f], 0x48
mov byte [esp + 0xda], 0x5f
mov edx, dword [esp + 0xb0]
movzx ecx, dl
movsx esi, dl
test byte [ecx + ecx + str.________________________________H], 1
lea edx, [esi + 0x20]
cmove edx, esi
mov dword [esp + 0x134], 0
cmp edx, 0x6c
mov edi, dword [esp + 0x16c]
jne 0x48988e
mov ecx, 9
mov esi, 3
sub esi, edx
xor esi, edx
mov dword [esp + 0xbc], edi
mov dword [esp + 0xb8], 0
mov dword [esp + 0x80], 0
mov edx, 0
mov edi, 0
jne 0x48a874
jmp 0x4898ab
mov dword [esp + 0xbc], edi
mov dword [esp + 0xb8], 0
mov dword [esp + 0x80], 0
cmp eax, 0xf
jne 0x48c0f6
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov edx, dword [esp + 0xb8]
mov edi, dword [esp + 0x80]
jne 0x489962
jmp 0x48c0f6
mov byte [esp + 0x3b], 0x2d
mov esi, dword [esp + 0x16c]
movsx eax, byte [esi + 1]
movzx ecx, al
movzx ecx, word [ecx + ecx + str.________________________________H]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, ecx
lea ecx, [eax + 0x20]
test dl, 1
cmove ecx, eax
mov dword [esp + 0x134], 0
cmp ecx, 0x6f
jne 0x489957
mov eax, 2
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov dword [esp + 0xbc], esi
mov edx, 0
mov edi, 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0x80], 0
jb 0x48a910
jmp 0x489962
mov dword [esp + 0xbc], esi
xor edx, edx
xor edi, edi
mov ebp, 0x16
mov al, byte [esp + 0xda]
movzx eax, al
cmp eax, 0x21
je 0x4899ed
cmp eax, 0x5f
je 0x489a43
cmp eax, 0x68
jne 0x489aec
mov ecx, 0xb
mov dword [esp + 0xe8], 0
mov byte [esp + 0xda], 0x2f
mov dword [esp + 0xb8], edx
mov dword [esp + 0x80], edi
mov dword [esp + 0xe4], edi
mov ebp, edx
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0xe0], eax
mov edi, dword [esp + 0xd4]
mov edx, dword [esp + 0x124]
mov esi, dword [esp + 0x13c]
jmp 0x48b7c5
mov dword [esp + 0xd0], ebx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x64], eax
mov al, byte [esp + 0xce]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x90], ecx
mov dword [esp + 0xb8], edx
mov dword [esp + 0x80], edi
jmp 0x489b3e
mov ebp, edx
mov dword [esp + 0xd0], ebx
xor eax, eax
mov esi, 0xcd
lea ecx, [esi + esi - 0xc0]
lea edx, [esi - 0xc0]
mov dword [esp + 0xf8], edx
mov edx, dword [esp + 0xbc]
jmp 0x489a86
mov bl, cl
xor bl, 0xb2
mov byte [esp + 0xda], bl
xor esi, eax
setne bl
movzx esi, bl
add eax, esi
mov esi, 3
sub esi, eax
mov ebx, eax
xor ebx, esi
setne bl
movzx ebx, bl
cmp eax, ebx
jb 0x489a70
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], edx
mov eax, dword [esp + 0x134]
mov dword [esp + 0xe0], eax
mov eax, edi
mov dword [esp + 0xe4], eax
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xb8], ebp
mov dword [esp + 0x80], eax
mov ebx, dword [esp + 0xd0]
mov edx, dword [esp + 0xf8]
jmp 0x48bc4d
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xe8], 0
mov byte [esp + 0xda], 0x5f
mov dword [esp + 0xb8], edx
mov dword [esp + 0x80], edi
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xec], eax
mov dword [esp + 0xe4], edi
mov ebp, edx
mov eax, dword [esp + 0x134]
mov dword [esp + 0xe0], eax
jmp 0x489c12
mov esi, dword [esp + 0x13c]
xor ecx, ecx
cmp ebp, 0xf
mov ebx, dword [esp + 0xb8]
je 0x489c25
mov edx, ebp
and edx, 1
inc edx
xor edx, ebp
je 0x489c25
mov edx, 0xa
mov dword [esp + 0xe8], 0
mov ah, 0x21
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0x134]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xe4], ecx
mov ebp, ebx
mov edi, dword [esp + 0xd4]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0x13c], esi
cmp edx, 8
je 0x489ceb
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
je 0x489ceb
mov byte [esp + 0xda], ah
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xf0], ecx
mov byte [esp + 0xce], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], eax
mov cl, byte [esp + 0x8f]
mov esi, dword [esp + 0x13c]
jmp 0x48c323
mov dword [esp + 0x13c], esi
mov edi, dword [esp + 0x80]
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0xbc]
jmp 0x489c80
mov edx, 0x83
add dl, 0xba
mov dword [esp + 0x128], edx
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
add ecx, edx
mov edx, dword [esp + 0x138]
inc edx
mov dword [esp + 0x134], edx
mov edx, dword [esp + 0x114]
inc edx
mov ebx, ebp
mov edi, dword [esp + 0x130]
mov esi, ecx
and esi, 1
xor esi, ecx
cmp esi, 0xffffffff
setne ah
movzx esi, ah
cmp ecx, esi
jb 0x489c40
mov dword [esp + 0xbc], edx
mov dword [esp + 0x58], ebp
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xf0], ecx
mov byte [esp + 0xce], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xd0]
mov edx, ebx
mov ebx, eax
jmp 0x489962
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x104], ebx
mov dword [esp + 0xd4], edi
mov byte [esp + 0xda], ah
mov edx, 0x1d
mov byte [esp + 0xf], 0x1c
mov byte [esp + 0x32], 0x46
mov esi, dword [esp + 0x1c]
mov ecx, esi
and ecx, 1
inc ecx
xor ecx, esi
sete cl
movzx ecx, cl
cmp esi, ecx
setne cl
movzx ecx, cl
add ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
mov esi, dword [esp + 0x4c]
mov ecx, esi
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp esi, ecx
mov byte [esp + 0xce], al
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xb4], ebx
mov byte [esp + 0x4b], al
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0x64]
jne 0x48bbbf
jmp 0x48a5d6
mov edi, 6
mov byte [esp + 0x3b], 0x2d
mov esi, dword [esp + 0x16c]
mov dword [esp], esi
mov dword [esp + 4], 0x7d899d
call fcn.007c5970
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x489dbc
mov al, 0x2d
jmp 0x489290
mov dword [esp + 0x134], 0
mov dword [esp + 0xa8], 1
jmp 0x489957
mov byte [esp + 0x8f], 0xe
mov byte [esp + 0x33], 0x46
mov byte [esp + 0xcf], 0x3a
mov al, byte [ebp]
mov byte [esp + 0x3a], al
movsx eax, al
cmp eax, 0x30
mov ebx, dword [esp + 0xd0]
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xe4]
mov esi, dword [esp + 0xe0]
je 0x489e77
mov edi, ebp
mov ebp, 3
cmp eax, 0x3a
mov dword [esp + 0x78], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x50], edi
mov dword [esp + 0xd4], edi
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], edx
jne 0x48aa6e
cmp ebp, 3
je 0x48a0ce
xor eax, eax
test al, al
je 0x48c8cc
jmp 0x48a0ce
mov dword [esp + 0x78], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebp
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x50], ebp
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], edx
mov cl, byte [esp + 0x4a]
movzx ecx, cl
cmp ecx, 0x78
jne 0x489f13
mov edx, 0xb
mov byte [esp + 0x4a], 0x46
mov dword [esp + 0x154], 0
cmp dword [esp + 0xdc], 3
jg 0x489f4e
xor eax, eax
test al, al
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x140], eax
mov eax, 0
mov esi, 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
je 0x489f77
jmp 0x48be6e
mov dword [esp + 0xd0], ebx
mov esi, dword [esp + 0x16c]
mov edx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xd4]
mov ebx, dword [esp + 0x104]
mov edi, dword [esp + 0x94]
mov eax, dword [esp + 0xf0]
mov ecx, 0xb
jmp 0x48c25a
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x140], eax
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
jmp 0x48be6e
mov dword [esp + 0xf8], esi
mov dword [esp + 0x144], eax
mov dword [esp + 0xd0], ebx
xor edx, edx
mov ebp, 0xffffffff
mov eax, 0x2d
xor eax, 0x23
mov dword [esp + 0xac], eax
mov ebx, dword [esp + 0xdc]
mov eax, ebx
imul eax, eax
and eax, 3
mov esi, ebx
or esi, 2
xor ebx, 2
mov ecx, dword [esp + 0xd4]
inc ecx
mov dword [esp + 0x148], ecx
jmp 0x48a024
inc edx
cmp eax, 2
sete cl
movzx ecx, cl
mov edi, dword [esp + 0xdc]
cmp edi, ecx
sete cl
movzx ecx, cl
add ecx, dword [esp + 0x104]
mov dword [esp + 0xe4], ecx
mov ecx, esi
add ecx, ebx
setne cl
movzx ecx, cl
add ecx, edi
mov dword [esp + 0xe8], ecx
dec ebp
mov dword [esp + 0xe0], 0
mov ecx, dword [esp + 0x148]
mov dword [esp + 0xec], ecx
mov edi, edx
and edi, 1
xor edi, ebp
setne cl
movzx ecx, cl
cmp edx, ecx
jb 0x489fd0
mov eax, dword [esp + 0x144]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x144], eax
mov al, byte [esp + 0x3b]
mov ecx, dword [esp + 0x150]
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0xac]
jmp 0x48c16c
mov eax, 0xf
cmp ecx, 0x3a
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x78], edx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], esi
mov dword [esp + 0x44], ebp
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0xd4], esi
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], edx
mov ebx, dword [esp + 0xd0]
jne 0x48a6d0
mov eax, 9
mov ecx, 3
mov edx, dword [esp + 0x70]
sub ecx, edx
xor ecx, edx
setne cl
movzx ecx, cl
cmp edx, ecx
jne 0x48a166
mov dword [esp + 0x58], 1
mov ecx, dword [esp + 0xa4]
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
mov dword [esp + 0x154], 0
cmp ecx, eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x140], eax
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
mov eax, dword [esp + 0x78]
mov dword [esp + 0x130], eax
mov dword [esp + 0x138], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x114], eax
mov eax, 1
jne 0x48c6e1
jmp 0x48a1fd
mov esi, dword [esp + 0x78]
mov dword [esp + 0x130], esi
mov ecx, edx
mov edi, dword [esp + 0x74]
mov edx, edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x114], edx
cmp eax, 9
je 0x48a19f
xor eax, eax
test al, al
jne 0x48a19f
mov dword [esp + 0x138], ecx
jmp 0x48af65
mov edx, 0x11
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
mov dword [esp + 0x154], 0
cmp ecx, eax
mov dword [esp + 0x138], ecx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x140], eax
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
jle 0x48b1c2
xor ecx, ecx
mov eax, 0x10
add eax, 0xfffffff9
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x98]
mov ebp, dword [esp + 0xf4]
jmp 0x48a25d
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
add ecx, edx
xor ebp, ebp
mov edi, dword [esp + 0x140]
mov edx, dword [esp + 0x154]
mov dword [esp + 0x14c], edx
mov edx, dword [esp + 0x144]
mov dword [esp + 0x150], edx
mov esi, dword [esp + 0x148]
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x48a220
mov dword [esp + 0xf4], ebp
mov dword [esp + 0x98], edi
mov dword [esp + 0x88], esi
cmp eax, 9
jne 0x48a4e3
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
mov ecx, dword [esp + 0xb4]
je 0x48a520
mov edi, dword [esp + 0x88]
mov ebp, dword [esp + 0x98]
mov ecx, dword [esp + 0x14c]
mov esi, dword [esp + 0x118]
mov ebx, dword [esp + 0x150]
jmp 0x48a308
mov eax, esi
and eax, 1
lea edx, [eax + 1]
xor edx, esi
sete dl
movzx edx, dl
cmp esi, edx
sete dl
movzx edx, dl
add ebx, edx
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
mov dword [esp + 0xf4], esi
inc ebp
xor ecx, ecx
mov esi, dword [esp + 0x118]
mov dl, byte [ebp]
movsx eax, dl
cmp eax, 0x30
je 0x48a350
mov byte [esp + 0xc7], dl
cmp eax, 0x3a
jne 0x48a556
mov eax, 0x12
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
cmp ecx, edx
mov edx, ebx
mov esi, ecx
mov dword [esp + 0x24], ebp
jne 0x48a400
jmp 0x48a71e
mov byte [esp + 0xc7], dl
mov al, byte [esp + 0xcf]
movzx edx, al
cmp edx, 2
je 0x48a3d0
mov eax, 7
cmp edx, 0x3a
je 0x48a3f9
cmp edx, 0x60
jne 0x48a439
mov dword [esp + 0x14c], ecx
mov ecx, ebx
mov edx, 4
mov al, 0x2d
mov ebx, dword [esp + 0xf4]
cmp ebx, 4
jl 0x48a495
mov byte [esp + 0xcf], 0x2d
mov dword [esp + 0x118], esi
mov eax, 0x16
mov esi, ebx
and esi, 1
xor esi, ebx
not esi
test esi, esi
jne 0x48a9c9
mov esi, dword [esp + 0x118]
mov al, 0x2d
jmp 0x48a495
mov dword [esp + 0x118], esi
mov eax, 0x11
mov byte [esp + 0xcf], 0x60
mov esi, dword [esp + 0xf4]
cmp esi, 3
jle 0x48a2d0
jmp 0x48aa12
mov edx, dword [esp + 0xc8]
cmp eax, 7
jne 0x48a64c
mov dword [esp + 0x118], esi
mov dword [esp + 0xc8], edx
mov edx, 0xc
mov byte [esp + 0xcf], 2
mov esi, dword [esp + 0xf4]
cmp esi, 3
jle 0x48a2d0
jmp 0x48a6e8
mov dword [esp + 0x118], esi
mov edx, 9
mov al, 0x3a
mov esi, dword [esp + 0xf4]
cmp esi, 3
jg 0x48a471
mov byte [esp + 0xcf], 0x3a
mov eax, esi
and eax, 1
inc eax
xor eax, esi
je 0x48a483
mov esi, dword [esp + 0xf4]
jmp 0x48a2d0
mov dword [esp + 0x14c], ecx
mov ecx, ebx
mov esi, dword [esp + 0x118]
jmp 0x48a495
mov dword [esp + 0x14c], ecx
mov ecx, ebx
mov esi, dword [esp + 0x118]
mov al, 0x3a
cmp edx, 4
je 0x48a4c7
mov byte [esp + 0xcf], al
mov dword [esp + 0x118], esi
xor eax, eax
test al, al
mov esi, dword [esp + 0xf4]
mov ebx, ecx
mov eax, dword [esp + 0x14c]
jne 0x48a2d0
jmp 0x48a9a8
mov byte [esp + 0xcf], al
mov dword [esp + 0x118], esi
mov esi, dword [esp + 0xf4]
mov ebx, ecx
jmp 0x48a2d0
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xf8], eax
mov esi, dword [esp + 0xf0]
mov al, byte [esp + 0xce]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x90], ecx
jmp 0x48bd83
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xf8], eax
mov esi, dword [esp + 0xf0]
mov al, byte [esp + 0xce]
mov dword [esp + 0x90], ecx
jmp 0x48bd83
mov al, 0x3b
movzx eax, al
cmp eax, 0x3b
je 0x48a77b
mov dword [esp + 0x118], esi
cmp eax, 0x3f
jne 0x48a7e4
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xf8], eax
mov esi, dword [esp + 0xf0]
mov al, byte [esp + 0xce]
mov edx, edi
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x90], edi
mov dword [esp + 0x6c], edx
mov edx, 0xe
mov dword [esp + 0x14], ebx
mov dword [esp + 0x150], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14c], ecx
mov ebx, ebp
mov dword [esp + 0x98], ebp
cmp edx, 0xe
jne 0x48a640
mov dword [esp + 0x64], esi
mov edi, 0x18
mov edx, 0xd
cmp dword [esp + 0x10], 1
mov ecx, dword [esp + 0x14]
sbb ecx, 0xffffffff
mov dword [esp + 0x68], ecx
test ebx, ebx
setne cl
mov esi, ebx
or esi, 2
mov ebp, ebx
xor ebx, 2
add ebx, esi
mov ebx, ebp
mov byte [esp + 0x31], 0x19
setne ah
and ah, cl
mov byte [esp + 0x23], ah
cmp dword [esp + 0x6c], 0
mov cl, byte [esp + 0xc7]
mov byte [esp + 0x5f], cl
mov dword [esp + 0x34], ebx
mov esi, dword [esp + 0xa8]
jne 0x48bee3
jmp 0x48b09f
mov byte [esp + 0xce], al
jmp 0x48bb41
mov dword [esp + 0x14c], ecx
mov eax, 3
movzx ecx, byte [esp + 0x33]
cmp ecx, 0x46
je 0x48a8a5
mov dword [esp + 0xc8], edx
mov eax, 0x12
cmp ecx, 0x75
jne 0x48a8e6
mov eax, 0xb
mov byte [esp + 0x33], 0x78
mov ecx, esi
or ecx, 2
mov edx, esi
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
cmp esi, ecx
mov dword [esp + 0x118], esi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x150], ebx
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x10], ecx
mov ebx, ebp
mov dword [esp + 0x98], ebp
jle 0x48ac33
cmp eax, 0xb
je 0x48af65
xor eax, eax
test al, al
je 0x48aa6e
jmp 0x48af65
mov eax, dword [esp + 0x148]
mov esi, dword [esp + 0x144]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x150], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14c], ecx
mov ebx, ebp
mov dword [esp + 0x98], ebp
jmp 0x48c997
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
mov dword [esp + 0x9c], 1
cmp edi, eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x118], ecx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x6c], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x150], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14c], ecx
mov ebx, ebp
mov dword [esp + 0x98], ebp
jne 0x48ac33
jmp 0x48af65
mov dword [esp + 0x118], esi
mov byte [esp + 0x31], 0x19
test ecx, ecx
setne al
mov edx, ecx
and ecx, 1
xor ecx, edx
cmp ecx, 0xffffffff
setne cl
and cl, al
movzx esi, cl
add esi, ebx
test ebp, ebp
setne al
mov ecx, ebp
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
or cl, al
mov byte [esp + 0x23], cl
mov ecx, edx
test edi, edi
mov dl, byte [esp + 0xc7]
mov dh, dl
mov dword [esp + 0x34], ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xd0], ebp
jne 0x48ad1c
jmp 0x48adb9
mov eax, 0x18
mov byte [esp + 0x31], 0x19
mov esi, ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp esi, ecx
setne cl
movzx ecx, cl
add ecx, ebx
mov dword [esp + 0x68], ecx
test ebp, ebp
setne cl
test edi, edi
je 0x48aa50
mov byte [esp + 0x23], cl
mov ecx, 1
mov edx, edi
imul edx, edx
and edx, 3
cmp edx, 3
mov dl, byte [esp + 0xc7]
mov byte [esp + 0x5f], dl
mov dword [esp + 0x34], ebp
mov dword [esp + 0x6c], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x150], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14c], esi
mov ebx, ebp
mov dword [esp + 0x98], ebp
mov edx, dword [esp + 0xb8]
mov edi, dword [esp + 0x80]
je 0x4896c9
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
cmp ecx, eax
jne 0x4898d7
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xb8], edx
mov dword [esp + 0x80], edi
jmp 0x48bf44
mov dword [esp + 0xc8], edx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x150], ebx
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x10], ecx
mov ebx, ebp
mov dword [esp + 0x98], ebp
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x138]
mov edi, dword [esp + 0xb8]
jmp 0x48c839
mov dword [esp + 0x118], esi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x150], ebx
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x10], ecx
mov ebx, ebp
mov dword [esp + 0x98], ebp
cmp eax, 2
jne 0x48a96a
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x48a96a
mov eax, 5
mov cl, byte [esp + 0x3b]
movzx ecx, cl
cmp ecx, 0x2d
je 0x489d82
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xc8]
mov esi, dword [esp + 0x118]
mov edi, dword [esp + 0x24]
mov dword [esp + 0xd0], ebx
mov ebx, dword [esp + 0x128]
jmp 0x48921b
mov eax, 1
mov byte [esp + 0x33], 0x46
mov esi, dword [esp + 0x118]
mov ecx, esi
or ecx, 2
mov edx, esi
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
cmp esi, ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x9c], ecx
jg 0x48af65
jmp 0x48ab81
mov dword [esp + 0x6c], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x150], ebx
mov dword [esp + 0x10], eax
mov ebx, ebp
mov dword [esp + 0x98], ebp
jmp 0x48af65
mov dword [esp + 0x6c], edi
mov dword [esp + 0x150], ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x98], ebp
mov cl, byte [esp + 0x8f]
mov edi, dword [esp + 0xd4]
mov esi, dword [esp + 0x13c]
mov ebp, dword [esp + 0xa4]
jmp 0x48b4a3
mov dword [esp + 0x6c], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x150], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14c], ecx
mov ebx, ebp
mov dword [esp + 0x98], ebp
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x114]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
jmp 0x48a179
mov dword [esp + 0x150], ebx
mov dword [esp + 0x14c], esi
mov dword [esp + 0x98], ebp
mov byte [esp + 0x23], cl
jmp 0x4896c9
mov eax, dword [esp + 0x3c]
cmp eax, 1
mov eax, dword [esp + 0x40]
sbb eax, 0xffffffff
mov edx, dword [esp + 0x44]
test edx, edx
jne 0x48aae2
mov ecx, edx
and ecx, 1
xor ecx, edx
not ecx
test ecx, ecx
je 0x48aae2
cmp eax, 8
mov edi, dword [esp + 0x16c]
jne 0x48ab9e
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x48ab9e
mov esi, dword [esp + 0x50]
test esi, esi
je 0x48ab9e
mov al, byte [esp + 0x3a]
movzx eax, al
cmp eax, 0x31
jne 0x48ab9e
mov ebp, ebx
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x48ab21
jmp 0x48abcb
mov cl, byte [esp + 0x3a]
movzx edx, cl
cmp edx, 0x31
sete cl
imul edx, edx
and edx, 3
cmp edx, 3
sete dl
cmp eax, 7
mov edi, dword [esp + 0x16c]
jg 0x48ab9e
mov esi, dword [esp + 0x50]
test esi, esi
je 0x48ab9e
mov ebp, ebx
or cl, dl
je 0x48abcb
mov dword [esp + 0x50], esi
mov ecx, 0xa
mov eax, 4
movzx edx, byte [esi + 1]
mov esi, edx
imul esi, esi
and esi, 3
cmp esi, 2
sete bl
movzx esi, bl
mov dword [esp + 0xa8], 1
mov dword [esp + 0x154], 0
cmp edx, esi
mov dword [esp + 0x140], edi
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
mov ebx, ebp
je 0x48bd33
cmp eax, 1
jne 0x48a1fd
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x48ac33
jmp 0x48a1fd
mov dword [esp + 0x154], 0
mov dword [esp + 0x140], edi
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
jmp 0x48a1fd
mov dword [esp + 0x154], 0
mov dword [esp + 0x140], edi
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
mov ebx, ebp
jmp 0x48a1fd
mov dword [esp + 0xb8], edi
mov byte [esp + 0x33], 0x75
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp esi, eax
mov dword [esp + 0x118], esi
mov eax, dword [esp + 0x88]
mov dword [esp + 0x9c], eax
jg 0x48af65
xor eax, eax
mov ecx, 0xe7
add ecx, 0xffffff41
xor ecx, 0x2f
mov dword [esp + 0xd0], ecx
mov edx, 3
sub edx, dword [esp + 0x118]
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x140]
mov esi, dword [esp + 0x148]
mov ebp, dword [esp + 0x144]
jmp 0x48acc4
mov edi, eax
not edi
and edi, 1
add edi, eax
mov ebp, ebx
setne bl
movzx edi, bl
add eax, edi
mov ecx, dword [esp + 0x118]
mov edi, ecx
xor edi, edx
setne bl
movzx edi, bl
mov ebx, ebp
add edi, ecx
mov dword [esp + 0x154], edi
mov ecx, dword [esp + 0xf8]
mov esi, dword [esp + 0x9c]
mov ebp, dword [esp + 0xc8]
mov edi, eax
imul edi, edi
and edi, 3
cmp edi, 2
sbb edi, edi
and edi, 1
cmp eax, edi
jb 0x48ac80
mov dword [esp + 0x144], ebp
mov dword [esp + 0x148], esi
mov dword [esp + 0x140], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xf8], eax
mov esi, dword [esp + 0xf0]
mov ecx, dword [esp + 0xd0]
jmp 0x48b63c
mov dword [esp + 0x14c], ecx
cmp esi, 7
setl al
mov ecx, esi
and ecx, 1
inc ecx
xor ecx, esi
sete cl
or cl, al
movzx eax, cl
cmp eax, 1
jne 0x48ad7f
mov dword [esp + 0x68], esi
mov al, byte [esp + 0x23]
test al, 1
je 0x48ad9e
mov dword [esp + 0x6c], edi
mov dword [esp + 0x150], ebx
mov byte [esp + 0xc7], dl
mov dword [esp + 0x98], ebp
movzx eax, dh
mov byte [esp + 0x5f], dh
cmp eax, 0x31
je 0x48ae02
mov ebx, dword [esp + 0xd0]
jmp 0x48af65
mov dword [esp + 0x6c], edi
mov dword [esp + 0x150], ebx
mov byte [esp + 0x5f], dh
mov byte [esp + 0xc7], dl
mov dword [esp + 0x68], esi
jmp 0x48aed2
mov dword [esp + 0x6c], edi
mov dword [esp + 0x150], ebx
mov byte [esp + 0x5f], dh
mov byte [esp + 0xc7], dl
jmp 0x48aed2
cmp esi, 7
jne 0x48aeb1
mov dword [esp + 0x68], esi
mov al, byte [esp + 0x23]
test al, 1
je 0x48ae99
movzx eax, dh
cmp eax, 0x31
jne 0x48ae99
mov dword [esp + 0x6c], edi
mov dword [esp + 0x150], ebx
mov byte [esp + 0x5f], dh
mov byte [esp + 0xc7], dl
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x98], ebp
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov ebx, dword [esp + 0xd0]
je 0x48af65
mov eax, 0x13
movzx ecx, byte [esp + 0x31]
cmp ecx, 0x19
jne 0x48ae78
mov byte [esp + 0x31], 0x49
mov eax, dword [esp + 0x34]
movzx ecx, byte [eax + 1]
cmp ecx, 0x32
je 0x48af1e
mov eax, 3
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0xf8], ecx
mov esi, dword [esp + 0xf0]
jne 0x48b68b
jmp 0x48af1e
mov edi, dword [esp + 0xd4]
mov edx, dword [esp + 0x124]
mov esi, dword [esp + 0x13c]
mov ebp, dword [esp + 0xa4]
jmp 0x48b74f
mov dword [esp + 0x6c], edi
mov dword [esp + 0x150], ebx
mov byte [esp + 0x5f], dh
mov byte [esp + 0xc7], dl
jmp 0x48aecb
mov dword [esp + 0x6c], edi
mov dword [esp + 0x150], ebx
mov byte [esp + 0x5f], dh
mov byte [esp + 0xc7], dl
mov dword [esp + 0x68], esi
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x98], ebp
mov ebx, dword [esp + 0xd0]
jmp 0x48af65
mov byte [esp + 0x31], 0x19
mov eax, dword [esp + 0x34]
movzx eax, byte [eax + 1]
cmp eax, 0x32
jne 0x48af49
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x13c], esi
mov dword [esp + 0x124], edx
mov dword [esp + 0xd4], edi
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x48af65
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov dword [esp + 4], str.127.0.0.1
call fcn.007c58b0
mov ecx, eax
mov dword [esp + 0xa8], 1
test ecx, ecx
je 0x48c8cc
jmp 0x48af65
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x13c], esi
mov dword [esp + 0x124], edx
mov dword [esp + 0xd4], edi
mov eax, dword [esp + 0x16c]
mov edi, eax
movsx eax, byte [edi]
movzx ecx, al
movzx ecx, word [ecx + ecx + str.________________________________H]
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
and edx, ecx
lea ecx, [eax + 0x20]
test dx, dx
cmove ecx, eax
cmp ecx, 0x66
jne 0x48c0f6
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
je 0x48c0f6
movsx eax, byte [edi + 1]
movzx ecx, al
movzx ecx, word [ecx + ecx + str.________________________________H]
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, ecx
and edx, 1
lea ecx, [edx + 1]
xor ecx, edx
sete cl
movzx ecx, cl
lea esi, [eax + 0x20]
cmp edx, ecx
cmove esi, eax
cmp esi, 0x65
jne 0x48c0f6
mov edx, 2
movzx eax, byte [edi + 2]
cmp eax, 0x38
je 0x48b009
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x48c0f6
cmp edx, 2
mov eax, dword [esp + 0x16c]
jne 0x48b8bf
imul edx, edx
and edx, 3
cmp edx, 2
jae 0x48b8bf
movzx eax, byte [eax + 3]
cmp eax, 0x30
jne 0x48c0f6
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x48c0f6
mov al, 0x45
mov edx, 0xe
mov edi, 0xd
movzx eax, al
cmp eax, 0x5d
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x64], eax
mov al, byte [esp + 0xce]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x90], ecx
mov esi, dword [esp + 0xa8]
jne 0x48b2c2
mov dword [esp + 0xa8], esi
cmp edx, 0xd
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x64]
jne 0x48b128
mov ecx, edx
and ecx, 1
xor ecx, edx
not ecx
test ecx, ecx
je 0x48b128
mov dword [esp + 0xd0], ebx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xf0], esi
mov byte [esp + 0xce], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x14c]
mov esi, dword [esp + 0x68]
mov dl, byte [esp + 0xc7]
mov dh, byte [esp + 0x5f]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x6c]
jmp 0x48adb9
mov edi, 0xd
mov byte [esp + 0xdb], 0x47
mov byte [esp + 0x2a], 5
mov byte [esp + 0x2b], 0xa
mov byte [esp + 0x10f], 0x40
mov ecx, dword [esp + 0x16c]
lea edx, [ecx + 4]
mov dword [esp + 0x94], edx
movzx ecx, byte [ecx + 4]
mov dword [esp + 0x100], 0
cmp ecx, 0x3a
je 0x48b1df
mov edx, 8
xor ecx, ecx
test cl, cl
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xf0], esi
mov byte [esp + 0xce], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x7c], 0
jne 0x48b22a
cmp edx, 8
je 0x48c0f6
imul edx, edx
and edx, 3
cmp edx, 2
jne 0x48c6f8
jmp 0x48c0f6
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xf0], esi
mov byte [esp + 0xce], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x7c], 0
cmp edi, 0xd
jne 0x48b23f
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x7c]
jmp 0x48b368
mov eax, dword [esp + 0xc0]
movzx eax, al
xor ecx, ecx
cmp eax, 0x34
jne 0x48b265
mov ebp, ebx
mov dword [esp + 0xb0], eax
mov edi, dword [esp + 0x16c]
jmp 0x4897e2
mov eax, 0x6d
add eax, 0xffffff95
mov dword [esp + 0xb0], edx
mov edi, dword [esp + 0x16c]
jmp 0x48b2a7
mov dl, al
add dl, 0x32
mov dword [esp + 0xc0], edx
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
add ecx, edx
mov dl, byte [edi]
mov dword [esp + 0xb0], edx
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x48b280
jmp 0x48b347
cmp edi, 0xd
je 0x48b2d9
xor eax, eax
test al, al
jne 0x48b2d9
mov dword [esp + 0xa8], esi
jmp 0x48c8cc
mov dword [esp + 0xa8], esi
mov byte [esp + 0xdb], 0x47
mov byte [esp + 0x2a], 5
mov byte [esp + 0x2b], 0xa
mov byte [esp + 0x10f], 0x40
mov eax, dword [esp + 0x16c]
lea ecx, [eax + 4]
mov dword [esp + 0x94], ecx
movzx eax, byte [eax + 4]
mov dword [esp + 0x100], 0
cmp eax, 0x3a
je 0x48b364
mov eax, 3
mov cl, 1
test cl, cl
mov ecx, 0
mov edx, 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x7c], 0
je 0x48b368
cmp eax, 2
je 0x4897fc
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x48c0f6
jmp 0x4897fc
xor ecx, ecx
xor edx, edx
mov dword [esp + 0xd0], ebx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x64], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0xfc], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x120], 0
mov edi, dword [esp + 0x94]
mov eax, edi
mov esi, dword [esp + 0x100]
mov ebx, esi
mov edx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xd4]
mov dword [esp + 0xd4], ebp
mov ecx, 0xc
mov ebp, eax
mov al, byte [ebp]
mov byte [esp + 0xce], al
movsx eax, al
cmp eax, 0x30
je 0x48b4e3
mov dword [esp + 0xf0], ebp
cmp eax, 0x3a
jne 0x48b54a
mov dword [esp + 0x94], edi
mov dword [esp + 0x100], esi
mov dword [esp + 0xa0], edx
movzx eax, byte [esp + 0x2b]
cmp eax, 0xa
mov ebp, dword [esp + 0xa4]
jne 0x48b6cb
mov eax, 9
mov byte [esp + 0x2b], 0x59
mov dword [esp + 0x12c], ebx
cmp ebx, 1
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x124], ebx
mov edx, dword [esp + 0xfc]
mov esi, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x108], edx
mov cl, byte [esp + 0x8f]
mov edi, dword [esp + 0xd4]
jne 0x48b7f3
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x13c], esi
mov dword [esp + 0xd4], edi
mov byte [esp + 0x8f], cl
cmp eax, 9
jne 0x48c03e
imul eax, eax
and eax, 3
cmp eax, 2
mov ebx, dword [esp + 0xd0]
jb 0x48b784
jmp 0x48af65
mov dword [esp + 0x94], edi
mov dword [esp + 0x100], esi
mov dword [esp + 0x110], ebp
mov dword [esp + 0x124], ebx
mov eax, dword [esp + 0xfc]
mov esi, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xb4], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x11c], eax
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xd4]
mov ebx, dword [esp + 0x104]
jmp 0x48c526
mov dword [esp + 0x94], edi
mov dword [esp + 0x100], esi
mov dword [esp + 0xa0], edx
mov al, 0x55
mov edx, 8
movzx eax, al
cmp eax, 0x32
je 0x48b9c5
cmp eax, 0x55
mov cl, byte [esp + 0xce]
je 0x48ba25
cmp eax, 0x60
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x120]
mov eax, ebx
jne 0x48baa1
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ebx, eax
setne al
movzx eax, al
mov esi, dword [esp + 0xfc]
add eax, esi
mov dword [esp + 0x2c], eax
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 3
sete al
movzx eax, al
cmp ecx, eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x54], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x124], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xb4], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x13c], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x108], esi
mov byte [esp + 0xf], 0x1c
mov byte [esp + 0x32], 0x46
mov al, byte [esp + 0xce]
mov byte [esp + 0x4b], al
mov eax, 0xb
mov ecx, 3
mov dword [esp + 0x11c], edx
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0x64]
jne 0x48b68b
cmp ecx, 3
jne 0x48c016
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x12c], eax
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x90], eax
jne 0x48bb41
jmp 0x48a1fd
cmp eax, 3
mov eax, dword [esp + 0xac]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x12c], eax
mov dword [esp + 0xf0], esi
mov al, byte [esp + 0x4b]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x90], ecx
je 0x48af65
jmp 0x48bbbf
mov ecx, 2
mov eax, 5
mov byte [esp + 0x2b], 0xa
mov ebp, ebx
mov dword [esp + 0x12c], ebp
mov edx, ebp
or edx, 2
mov esi, ebp
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
cmp ebp, edx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0x110], ebx
mov edx, ebp
mov edi, dword [esp + 0xfc]
mov esi, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x120]
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x108], edi
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xd4]
jne 0x48b7c5
cmp eax, 5
jne 0x48aee5
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x48aee5
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x13c], esi
mov dword [esp + 0x124], edx
mov dword [esp + 0xd4], edi
movzx eax, byte [esp + 0x2a]
cmp eax, 5
je 0x48b87f
cmp eax, 0x30
jne 0x48b893
cmp dword [esp + 0x4c], 1
mov dword [esp + 0xa0], 1
je 0x48c0f6
mov byte [esp + 0x2a], 0x30
xor eax, eax
test al, al
je 0x48b8bf
jmp 0x48c0f6
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x124], edx
cmp ecx, 2
jne 0x48bf71
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
mov cl, byte [esp + 0x8f]
je 0x48c323
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x13c], esi
mov dword [esp + 0xd4], edi
mov byte [esp + 0x8f], cl
mov edi, 0xb
mov edx, 0xc
mov ecx, dword [esp + 0x12c]
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
cmp ecx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xac], eax
mov dword [esp + 0xf8], ecx
mov esi, dword [esp + 0xf0]
mov al, byte [esp + 0xce]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x90], ecx
mov ebx, dword [esp + 0xd0]
jle 0x48b009
jmp 0x48bc1a
mov byte [esp + 0x2a], 5
mov eax, 3
mov ecx, dword [esp + 0x4c]
sub eax, ecx
xor eax, ecx
jmp 0x48b8a6
mov byte [esp + 0x2a], 0x3b
mov ecx, dword [esp + 0x4c]
mov eax, ecx
and eax, 1
xor eax, ecx
cmp eax, 0xffffffff
setne al
movzx eax, al
mov dword [esp + 0xa0], 1
cmp ecx, eax
je 0x48c0f6
mov al, byte [esp + 0xdb]
movzx eax, al
cmp eax, 0x47
jne 0x48b917
mov byte [esp + 0xdb], 0x61
mov ecx, dword [esp + 0x12c]
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
add eax, ecx
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0xf0]
inc eax
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xfc]
jmp 0x48b368
mov dword [esp + 0xd0], ebx
xor ecx, ecx
mov edx, 0x22
lea eax, [edx - 0x14]
mov dword [esp + 0x90], eax
xor edx, eax
mov esi, 3
sub esi, dword [esp + 0x12c]
mov eax, dword [esp + 0xf0]
inc eax
mov dword [esp + 0x94], eax
jmp 0x48b978
mov al, dl
xor al, 0x6b
mov byte [esp + 0xdb], al
add edi, ebx
setne al
movzx eax, al
add ecx, eax
mov edi, dword [esp + 0x12c]
mov eax, edi
xor eax, esi
setne al
movzx eax, al
add eax, edi
mov dword [esp + 0x100], eax
mov edi, ecx
or edi, 2
mov ebx, ecx
xor ebx, 2
mov ebp, edi
add ebp, ebx
setne al
movzx eax, al
cmp ecx, eax
jb 0x48b950
mov edx, dword [esp + 0xa0]
mov edi, edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x7c], eax
mov ebp, dword [esp + 0xd4]
mov ebx, dword [esp + 0x104]
mov esi, dword [esp + 0x13c]
jmp 0x48c585
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x124], ebx
mov al, byte [esp + 0xce]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xfc]
mov esi, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x108], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x11c], ecx
mov ah, byte [esp + 0xda]
mov ebp, dword [esp + 0xa4]
jmp 0x489ba3
cmp ebx, 1
mov edx, dword [esp + 0xfc]
mov eax, edx
sbb eax, 0xffffffff
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x124], ebx
mov dword [esp + 0x13c], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x108], edx
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x90], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], eax
mov byte [esp + 0xf], 0x1c
mov byte [esp + 0x32], 0x46
mov al, cl
mov byte [esp + 0x4b], cl
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x11c], ecx
jmp 0x48bb34
and eax, 1
inc eax
xor eax, ebx
sete al
movzx eax, al
cmp ebx, eax
setne al
movzx eax, al
mov esi, dword [esp + 0xfc]
add eax, esi
mov dword [esp + 0x2c], eax
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp ecx, eax
mov dword [esp + 0x124], ebx
mov dword [esp + 0x13c], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x108], esi
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x90], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], eax
mov byte [esp + 0xf], 0x1c
mov byte [esp + 0x32], 0x46
mov cl, byte [esp + 0xce]
mov al, cl
mov byte [esp + 0x4b], cl
mov dword [esp + 0x11c], edx
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0x64]
jne 0x48bbbf
mov edx, 0xc
mov al, byte [esp + 0xf]
movzx eax, al
cmp eax, 0x14
je 0x48be3d
mov edi, 0xd
cmp eax, 0x1d
jne 0x48bed1
mov byte [esp + 0xf], 0x1c
mov al, byte [esp + 0x4b]
movzx ecx, al
cmp ecx, 0x31
sete al
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
sete cl
mov edx, dword [esp + 0x2c]
cmp edx, 7
jne 0x48c04a
or al, cl
mov al, byte [esp + 0xce]
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xf0], esi
jmp 0x48bccb
mov edx, 0x13
mov edi, 7
movzx ecx, byte [esp + 0x32]
cmp ecx, 0x7e
mov byte [esp + 0x4b], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0x54], eax
mov al, byte [esp + 0xce]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xf0], esi
jne 0x48bc4d
cmp edi, 7
je 0x48bc62
xor ecx, ecx
test cl, cl
jne 0x48bc62
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xf0], esi
jmp 0x48bffc
cmp edx, 0xd
jne 0x48bce4
mov dword [esp + 0xd0], ebx
jmp 0x48c30e
mov ebp, esi
mov cl, byte [esp + 0x4b]
movzx edx, cl
cmp edx, 0x31
sete cl
mov esi, edx
and esi, 1
inc esi
xor esi, edx
sete dl
mov edi, dword [esp + 0x2c]
cmp edi, 6
jg 0x48bfd4
mov byte [esp + 0x32], 0x46
mov esi, 3
sub esi, edi
xor esi, edi
je 0x48bfd9
or cl, dl
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov esi, ebp
mov dword [esp + 0xf0], esi
mov byte [esp + 0xce], al
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xb4], ecx
jne 0x48bd83
jmp 0x48c0f6
mov eax, 0x15
mov byte [esp + 0x32], 0x7e
mov esi, dword [esp + 0x2c]
cmp esi, 7
setl cl
mov edx, esi
and edx, 1
inc edx
xor edx, esi
sete dl
or dl, cl
movzx ecx, dl
cmp ecx, 1
jne 0x4898ab
movzx edx, byte [esp + 0x4b]
cmp edx, 0x31
jne 0x4898ab
mov ecx, 0x18
mov esi, 3
sub esi, edx
xor esi, edx
je 0x4898ab
cmp ecx, 0xa
je 0x48c8cc
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xf8], eax
mov esi, dword [esp + 0xf0]
mov al, byte [esp + 0xce]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x90], ecx
je 0x48c8cc
mov ecx, dword [esp + 0x54]
mov cl, byte [ecx + 1]
test cl, cl
je 0x48bde2
mov dword [esp + 0xa8], 1
movzx ecx, cl
cmp ecx, 0x25
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xf0], esi
mov byte [esp + 0xce], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], eax
je 0x48c8cc
jmp 0x48c0f6
mov dword [esp + 0xa8], 1
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xf0], esi
mov byte [esp + 0xce], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], eax
mov eax, 1
mov edx, dword [esp + 0xb8]
mov edi, dword [esp + 0x80]
jmp 0x48c8b4
mov eax, dword [esp + 0xac]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x12c], eax
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], eax
cmp edx, 0xb
jne 0x48be82
imul edx, edx
and edx, 3
cmp edx, 2
jb 0x48a1fd
mov byte [esp + 0xf], 0x1d
mov edx, dword [esp + 0x2c]
cmp edx, 7
sete al
mov ecx, edx
and ecx, 1
inc ecx
xor ecx, edx
sete cl
or cl, al
movzx eax, cl
cmp eax, 1
jne 0x48c0f6
movzx ecx, byte [esp + 0x4b]
cmp ecx, 0x31
jne 0x48c0f6
mov eax, 0x15
mov edx, 3
sub edx, ecx
xor edx, ecx
jne 0x48a286
jmp 0x48c0f6
mov dword [esp + 0x64], esi
mov al, byte [esp + 0xce]
mov esi, dword [esp + 0xa8]
cmp edi, 0xd
je 0x48bf7d
mov ecx, edi
and ecx, 1
inc ecx
xor ecx, edi
je 0x48bf7d
mov dword [esp + 0xa8], esi
mov dword [esp + 0xd0], ebx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xf0], ecx
mov byte [esp + 0xce], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], eax
mov ebp, dword [esp + 0x98]
mov ecx, dword [esp + 0x14c]
mov esi, dword [esp + 0x68]
mov dl, byte [esp + 0xc7]
mov dh, byte [esp + 0x5f]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x6c]
jmp 0x48ad1c
mov cl, byte [esp + 0x8f]
jmp 0x48c323
mov byte [esp + 0xf], 0x14
mov cl, byte [esp + 0x4b]
movzx ecx, cl
cmp ecx, 0x31
sete cl
mov esi, dword [esp + 0x2c]
cmp esi, 7
jne 0x48c06f
mov edx, esi
and edx, 1
xor edx, esi
not edx
test edx, edx
je 0x48c06f
test cl, cl
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov esi, dword [esp + 0x64]
jmp 0x48bcbd
mov byte [esp + 0x32], 0x46
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0xf0], ebp
mov byte [esp + 0xce], al
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], eax
jmp 0x48c0f6
mov eax, dword [esp + 0xac]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x12c], eax
mov dword [esp + 0xf0], esi
jmp 0x48a1fd
mov ebx, dword [esp + 0xd0]
jmp 0x48af65
mov eax, dword [esp + 0xac]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x12c], eax
mov dword [esp + 0xf0], esi
jmp 0x48c003
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xf0], ecx
jmp 0x48bffc
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
je 0x48c53a
mov ecx, dword [esp + 0x11c]
cmp ecx, 3
jle 0x48c102
mov dword [esp + 0x104], ebx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xa0], edx
mov eax, dword [esp + 0xac]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x12c], eax
mov dword [esp + 0xf0], esi
mov ebx, dword [esp + 0xd0]
xor esi, esi
mov edi, 0x16
jmp 0x48b2c2
mov al, byte [esp + 0x10f]
movzx eax, al
cmp eax, 0x2a
mov esi, dword [esp + 0x60]
jne 0x48c926
mov dword [esp + 0x84], edi
mov dword [esp + 0x104], ebx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xa0], edx
mov eax, dword [esp + 0xac]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xf0], eax
mov al, byte [esp + 0x3b]
mov ecx, dword [esp + 0x150]
mov edx, 8
cmp edx, 8
jne 0x48c2ff
mov dword [esp + 0x150], ecx
mov byte [esp + 0x3b], al
xor ecx, ecx
mov eax, 0xa4
add eax, 0xffffffb1
xor eax, 0x44
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x11c]
mov edx, eax
or edx, 2
mov edi, eax
xor edi, 2
lea ebp, [esi + 1]
mov dword [esp + 0x60], esi
jmp 0x48c213
mov eax, dword [esp + 0xf8]
add al, 0x2f
mov byte [esp + 0x10f], al
mov esi, ecx
not esi
and esi, 1
add esi, ecx
setne bl
movzx esi, bl
add ecx, esi
mov eax, dword [esp + 0x11c]
test eax, eax
sete bl
movzx esi, bl
add esi, dword [esp + 0x108]
mov dword [esp + 0x13c], esi
mov esi, edx
add esi, edi
setne bl
movzx esi, bl
add esi, eax
mov dword [esp + 0x120], esi
mov dword [esp + 0x124], 0
mov dword [esp + 0x110], ebp
mov esi, ecx
or esi, 2
mov ebx, ecx
xor ebx, 2
add ebx, esi
setne bl
movzx esi, bl
cmp ecx, esi
jb 0x48c1b0
mov esi, dword [esp + 0x16c]
mov edx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xd4]
mov ebx, dword [esp + 0x104]
mov edi, dword [esp + 0x94]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf8]
cmp ecx, 0xb
jne 0x48c5e1
mov dword [esp + 0xa0], edx
mov edx, ecx
and ecx, 1
xor ecx, edx
not ecx
test ecx, ecx
je 0x48c630
mov dword [esp + 0xf0], eax
mov dword [esp + 0x94], edi
mov dword [esp + 0x104], ebx
mov dword [esp + 0xd4], ebp
mov edx, 0x1b
mov byte [esp + 0x4a], 0x78
mov dword [esp + 0x154], 0
mov ecx, dword [esp + 0xdc]
cmp ecx, 4
jl 0x48c985
mov eax, ecx
or eax, 2
xor ecx, 2
add ecx, eax
mov dword [esp + 0x140], esi
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
mov eax, 0
mov esi, 0
mov ebx, dword [esp + 0xd0]
jne 0x48a1fd
jmp 0x48c997
mov dword [esp + 0x60], esi
mov dword [esp + 0x150], ecx
mov byte [esp + 0x3b], al
mov cl, byte [esp + 0x8f]
mov esi, dword [esp + 0x13c]
mov ebp, dword [esp + 0xa4]
movzx eax, cl
cmp eax, 0x48
je 0x48c3e0
mov dword [esp + 0xa4], ebp
cmp eax, 0x5c
mov ebp, dword [esp + 0xec]
je 0x48c46e
mov dword [esp + 0x13c], esi
cmp eax, 0x68
je 0x489dd7
mov byte [esp + 0x8f], 0x68
mov byte [esp + 0x33], 0x46
mov byte [esp + 0xcf], 0x3a
mov al, byte [ebp]
mov byte [esp + 0x3a], al
movsx eax, al
cmp eax, 0x30
mov ebx, dword [esp + 0xd0]
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xe4]
mov esi, dword [esp + 0xe0]
je 0x489e77
cmp eax, 0x3a
mov dword [esp + 0x78], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebp
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x50], ebp
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], edx
je 0x48a0ce
jmp 0x48aa6e
mov dword [esp + 0x13c], esi
mov byte [esp + 0x8f], 0x48
mov byte [esp + 0x33], 0x46
mov byte [esp + 0xcf], 0x3a
mov esi, dword [esp + 0xec]
mov al, byte [esi]
mov byte [esp + 0x3a], al
movsx ecx, al
cmp ecx, 0x30
jne 0x48a06c
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], esi
mov dword [esp + 0x44], ebp
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], esi
mov dword [esp + 0xd4], esi
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xdc], eax
mov dword [esp + 0x104], ecx
mov ebx, dword [esp + 0xd0]
jmp 0x489eaf
mov eax, 3
mov byte [esp + 0x8f], 0x5c
mov byte [esp + 0x33], 0x46
mov byte [esp + 0xcf], 0x3a
mov cl, byte [ebp]
mov byte [esp + 0x3a], cl
movsx edx, cl
cmp edx, 0x30
je 0x48c686
mov ecx, 0x18
mov dword [esp + 0x90], 0x13
cmp edx, 0x3a
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ebp
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], ebp
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xdc], eax
mov ebx, edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xac], eax
mov edx, dword [esp + 0x12c]
mov dword [esp + 0xf8], edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 0x84]
jne 0x48c585
mov dword [esp + 0x13c], esi
cmp ecx, 0xc
mov esi, dword [esp + 0x64]
je 0x48c09b
mov dword [esp + 0x84], edi
mov dword [esp + 0x104], ebx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xa0], edx
mov eax, dword [esp + 0xac]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x12c], eax
mov dword [esp + 0xf0], esi
mov ebx, dword [esp + 0xd0]
jmp 0x48a0ce
mov dword [esp + 0xfc], eax
mov dword [esp + 0x104], ebx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xa0], edx
mov eax, dword [esp + 0x90]
cmp eax, 0xe
mov ecx, eax
je 0x48c9b3
mov dword [esp + 0x13c], esi
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
mov ecx, edi
mov dword [esp + 0x84], edi
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xd0]
jne 0x48aa6e
jmp 0x48b368
mov dword [esp + 0x104], ebx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x110]
mov ebx, dword [esp + 0x124]
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0xfc], ecx
mov esi, dword [esp + 0x100]
jmp 0x48b3d7
mov dword [esp + 0x104], ebx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x110]
mov ebx, dword [esp + 0x124]
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0xfc], ecx
mov esi, dword [esp + 0x100]
mov edx, dword [esp + 0xa0]
jmp 0x48b3d7
mov dword [esp + 0x13c], esi
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x78], edx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ebp
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0xd4], ebp
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], edx
mov ebx, dword [esp + 0xd0]
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jne 0x489eaf
mov eax, dword [esp + 0x128]
movzx eax, al
cmp eax, 0x33
je 0x48c7e3
cmp eax, 0x3d
je 0x48c86c
mov ebp, 0xf
cmp eax, 0x7d
jne 0x48c8de
xor eax, eax
mov edx, dword [esp + 0x138]
mov ecx, edx
and ecx, 1
xor ecx, edx
mov dword [esp + 0xf8], ecx
mov edx, dword [esp + 0x114]
lea ecx, [edx + 1]
mov dword [esp + 0xec], ecx
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x150]
mov ecx, dword [esp + 0x80]
jmp 0x48c7b8
mov ecx, ebx
mov ebx, 0xe3
xor bl, 0xa6
mov dword [esp + 0x128], ebx
mov esi, eax
and esi, 1
xor esi, eax
cmp esi, 0xffffffff
setne bl
movzx esi, bl
add eax, esi
cmp dword [esp + 0xf8], 0xffffffff
setne bl
movzx esi, bl
mov ebx, ecx
add esi, dword [esp + 0x138]
mov dword [esp + 0x134], esi
mov ecx, dword [esp + 0xec]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb8], ebp
mov ecx, edx
test eax, eax
jne 0x48c7ce
mov edx, dword [esp + 0x130]
mov esi, 3
sub esi, eax
xor esi, eax
jne 0x48c760
mov dword [esp + 0x150], edi
mov edx, dword [esp + 0xb8]
mov edi, ecx
jmp 0x489962
mov eax, 9
mov cl, 0x7d
mov dword [esp + 0x128], ecx
mov edx, dword [esp + 0x138]
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov ecx, edx
adc ecx, 0
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x114]
inc ecx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x58]
mov edi, ecx
mov esi, dword [esp + 0x130]
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x118]
mov dword [esp + 0x138], edx
mov dword [esp + 0x58], ecx
cmp eax, 3
je 0x48abfa
xor eax, eax
test al, al
jne 0x48abfa
mov dword [esp + 0x118], esi
mov edx, edi
mov edi, dword [esp + 0x80]
jmp 0x489962
mov eax, 0x10
mov cl, 0x33
mov dword [esp + 0x128], ecx
mov edx, dword [esp + 0x138]
mov ecx, edx
and ecx, 1
xor ecx, edx
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add ecx, edx
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x114]
inc ecx
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 0x130]
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
jne 0x489962
mov eax, dword [esp + 0xa8]
add esp, 0x158
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0xd0], ebx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x64], eax
mov al, byte [esp + 0xce]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x90], ecx
jmp 0x489b3e
mov dword [esp + 0x104], ebx
mov dword [esp + 0x84], edi
mov byte [esp + 0x10f], 0x2a
test ecx, ecx
sete al
movzx eax, al
mov edi, dword [esp + 0x108]
add edi, eax
mov eax, ecx
and eax, 1
xor eax, ecx
cmp eax, 0xffffffff
setne al
movzx eax, al
add eax, ecx
mov dword [esp + 0x120], eax
inc esi
xor ebx, ebx
mov eax, esi
mov dword [esp + 0xfc], edi
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0x94]
jmp 0x48b3d7
mov dword [esp + 0x140], esi
xor eax, eax
xor esi, esi
mov ebx, dword [esp + 0xd0]
cmp edx, 0xc
mov dword [esp + 0x148], eax
mov dword [esp + 0x144], esi
jne 0x489f77
jmp 0x48af65
mov ecx, edi
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xd0]
jmp 0x48b368