Function at 0x437f1e
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x16c
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
mov dword [ebp - 0x124], ecx
mov ecx, dword [ecx]
push esi
mov esi, dword [eax]
mov eax, ecx
and eax, 0x800
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x5c], eax
push edi
push ebx
pop eax
setne al
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x78], eax
mov eax, ecx
shr eax, 9
and eax, 1
mov dword [ebp - 0x13c], edx
mov edx, dword [edx]
mov dword [ebp - 0xf8], eax
xor eax, 1
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0xfc], eax
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x58], eax
mov eax, ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x98], 0xff
mov dword [ebp - 0x110], 0xfc00
mov dword [ebp - 0x114], 0xdc00
mov dword [ebp - 0x12c], 0x7b
mov dword [ebp - 0x120], 0x3a
mov dword [ebp - 0x140], 0x87
mov dword [ebp - 0x90], 0x30
mov dword [ebp - 0xb4], 0x39
mov dword [ebp - 0x128], 0x27
mov dword [ebp - 0x118], 0x1e
mov dword [ebp - 0x11c], 0x82
mov dword [ebp - 0x138], 0x5d
jmp 0x4381cb
mov eax, ebx
sub eax, 0x5b
je 0x4385cd
sub eax, 1
je 0x438bd3
sub eax, 1
je 0x476a4b
sub eax, 1
je 0x476a20
sub eax, 0x1d
je 0x475dd0
sub eax, 1
je 0x4383b7
cmp dword [ebp - 0x5c], 0
mov ecx, dword [ebp - 0xc]
mov edi, ecx
mov word [ebp - 0x10c], bx
je 0x4380ba
mov eax, 0xfc00
and ebx, eax
mov eax, 0xd800
cmp ebx, eax
je 0x476a71
push 2
pop esi
mov ebx, dword [ebp + 0x28]
mov dword [ebp - 0x28], edx
mov eax, dword [ebx + 0x20]
sub eax, dword [ebx + 0x10]
sar eax, 1
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
je 0x43812c
test cl, al
je 0x43812c
movzx ecx, word [ebp - 0x10c]
mov edx, 0xfc00
mov eax, ecx
and eax, edx
mov edx, 0xd800
cmp eax, edx
je 0x477d0e
mov eax, ecx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 8]
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3f3]
test eax, eax
jne 0x4385a3
mov eax, dword [ebp - 0x2c]
and eax, dword [ebp - 0xc]
push 0x1d
pop ecx
add eax, ecx
mov word [edx], ax
add edx, esi
xor eax, eax
mov dword [ebp - 8], edx
mov ecx, eax
test edi, edi
je 0x438159
mov ax, word [ebp + ecx*2 - 0x10c]
mov word [edx], ax
add edx, esi
inc ecx
cmp ecx, edi
jb 0x438144
mov dword [ebp - 8], edx
mov ax, word [ebp - 0x10c]
push 0xd
pop ecx
cmp ax, cx
je 0x477d3a
push 0xa
pop ecx
cmp ax, cx
je 0x477d3a
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
je 0x438ce1
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x70], eax
cmp edi, dword [ebp - 0xc]
jne 0x477d6f
movzx eax, word [edx - 2]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x68]
or eax, ecx
mov dword [ebp - 0x54], eax
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 8]
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x50]
movzx ebx, word [esi]
mov dword [ebp - 0x10], ebx
test ebx, ebx
je 0x43841e
cmp dword [ebp + 0x2c], 0
mov edi, dword [ebp + 0x28]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x10]
lea ecx, [eax + ecx*2]
je 0x4383a9
lea eax, [ecx - 0xc8]
cmp edx, eax
ja 0x477ed1
mov eax, dword [ebp - 0xc0]
cmp edx, eax
jb 0x474fb6
mov ecx, edx
sub ecx, eax
mov eax, dword [ebp + 0x2c]
sar ecx, 1
mov edx, dword [eax]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x477ff8
lea eax, [edx + ecx]
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp - 0x28]
mov dword [ecx], eax
test edx, edx
je 0x438410
mov ecx, dword [ebp - 0xb0]
cmp edx, ecx
jbe 0x438272
mov esi, dword [ebp - 8]
mov eax, esi
sub eax, edx
and eax, 0xfffffffe
push eax
push edx
push ecx
call fcn.0043ef0d
mov edx, dword [ebp - 0x28]
add esp, 0xc
mov ecx, dword [ebp - 0xb0]
sub edx, ecx
sar edx, 1
neg edx
mov dword [ebp - 0x28], ecx
lea esi, [esi + edx*2]
mov dword [ebp - 8], esi
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc0], edx
test ebx, ebx
je 0x43829c
push 0x5c
pop ecx
cmp ebx, ecx
je 0x438868
cmp dword [ebp - 0x64], 0
jne 0x474fd5
cmp ebx, ecx
je 0x43887d
mov edi, dword [ebp - 0x2c]
and edi, 8
mov dword [ebp - 0x30], edi
jne 0x475042
push 0x28
pop eax
cmp ebx, eax
je 0x43842b
push 0x2a
pop eax
cmp ebx, eax
je 0x43888f
push 0x2b
pop eax
cmp ebx, eax
je 0x43888f
push 0x3f
pop eax
cmp ebx, eax
je 0x43888f
push 0x7b
pop eax
cmp ebx, eax
je 0x47518a
mov edx, dword [ebp - 0x88]
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x50]
test edx, edx
jne 0x4751a2
test dword [ebp - 0x2c], 0x4000
jne 0x4751e3
mov edx, dword [ebp - 8]
push 0x3f
pop eax
cmp ebx, eax
ja 0x43805c
je 0x475dc4
mov eax, ebx
xor ecx, ecx
sub eax, ecx
je 0x4383b7
sub eax, 0x24
je 0x475daf
sub eax, 4
je 0x43844a
sub eax, 1
je 0x4383b7
sub eax, 1
je 0x43889a
sub eax, 1
je 0x475231
sub eax, 3
jne 0x438094
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
jne 0x438364
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov ebx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x20]
sub eax, dword [ebx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
shr eax, 2
and eax, dword [ebp - 0xc]
mov dword [ebp - 0x68], ecx
or eax, 0xc
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x28], edx
mov word [edx], ax
push 2
pop eax
add edx, eax
mov dword [ebp - 8], edx
jmp 0x4381ba
cmp dword [edi + 0x20], ecx
jbe 0x43827b
jmp 0x4780a2
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x13c]
mov dword [eax], edx
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x438408
sub edx, dword [ebp - 0xc0]
mov ebx, 0x7fffffeb
mov ecx, dword [eax]
sub ebx, ecx
sar edx, 1
cmp ebx, edx
jl 0x477ff8
add ecx, edx
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 8], edx
jmp 0x438275
test eax, eax
je 0x4381d9
jmp 0x474fa1
push 0x3f
pop eax
cmp word [esi + 2], ax
jne 0x4382e2
push 0x23
pop eax
cmp word [esi + 4], ax
jne 0x4382e2
jmp 0x475145
add esi, 2
push 0x2a
mov dword [ebp - 4], esi
pop eax
movzx edx, word [esi]
cmp dx, ax
je 0x475239
mov eax, dword [ebp - 0x2c]
mov ecx, 0x85
mov dword [ebp - 0x24], ecx
xor edi, edi
mov ecx, dword [ebp + 0x28]
mov ebx, edi
mov dword [ebp - 0x3c], eax
push 0x3f
mov dword [ebp - 0x18], ebx
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
pop eax
mov dword [ebp - 0x30], edi
cmp dx, ax
jne 0x438a2a
add esi, 2
mov dword [ebp - 4], esi
push 0x3a
pop edx
movzx ebx, word [esi]
mov eax, ebx
cmp eax, edx
jbe 0x4754ba
mov edx, esi
mov edi, ebx
mov dword [ebp - 0x1c], edx
sub eax, 0x3c
je 0x475b96
sub eax, 1
je 0x475a58
sub eax, 1
je 0x475b8c
sub eax, 5
je 0x475ae2
push 0xd
pop ebx
sub eax, ebx
je 0x475a99
push 2
pop ebx
sub eax, ebx
je 0x475a7c
push 0x2a
pop ebx
sub eax, ebx
je 0x475a48
xor ecx, ecx
push 0x29
mov eax, ecx
mov dword [ebp - 0x30], ecx
pop ebx
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x30]
cmp di, bx
je 0x476d14
mov ebx, edx
movzx eax, di
cmp di, word [ebp - 0x120]
je 0x438550
lea esi, [edx + 2]
movzx edi, di
push 0x69
pop edx
mov dword [ebp - 4], esi
cmp ax, dx
ja 0x476ce4
jne 0x476c99
mov eax, dword [ebp - 0xc]
or dword [ecx], eax
movzx eax, word [esi]
mov ebx, esi
push 0x29
mov dword [ebp - 0x1c], ebx
mov edx, ebx
pop ebx
mov edi, eax
cmp ax, bx
jne 0x43850c
mov ebx, esi
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
or ecx, dword [ebp - 0x2c]
not eax
and ecx, eax
push 0x29
pop eax
mov dword [ebp - 0x3c], ecx
cmp word [esi], ax
jne 0x4759ef
mov edx, dword [ebp - 0xc]
mov eax, ecx
shr eax, 9
and eax, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0xf8], eax
xor eax, edx
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x124]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, ecx
and eax, edx
mov dword [ebp - 0x94], eax
jmp 0x4381bd
push 0x10
pop ecx
mov word [edx], cx
add edx, esi
push 9
pop ecx
mov word [edx], cx
add edx, esi
mov word [edx], ax
add edx, esi
cmp dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 8], edx
je 0x477d2d
mov esi, dword [ebp - 4]
jmp 0x4381c0
push 6
lea ecx, [esi + 2]
mov edx, 0x49cc78
call fcn.00438df6
pop ecx
test eax, eax
je fcn.00477395
mov ecx, dword [ebp - 4]
mov edx, 0x49cc70
push 6
lea ecx, [ecx + 2]
call fcn.00438df6
pop ecx
test eax, eax
je 0x47739c
mov edx, dword [ebp + 0x28]
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
push 0x3a
mov eax, dword [edx + 0x20]
sub eax, dword [edx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
movzx eax, word [ecx + 2]
pop edi
mov dword [ebp - 0x28], ebx
cmp ax, di
je 0x4773b5
push 0x2e
pop edx
cmp ax, dx
je 0x4773b5
push 0x3d
pop edx
cmp ax, dx
je 0x4773b5
xor esi, esi
push 0x5c
mov eax, esi
pop edx
mov dword [ebp - 0x10], eax
add ecx, 2
mov dword [ebp - 4], ecx
movzx edi, word [ecx]
mov dword [ebp - 0x14], edi
cmp edi, edx
je 0x4773cd
test eax, eax
jne 0x43866a
cmp edi, 0x5e
je 0x477407
push 0x5d
pop ecx
cmp edi, ecx
je 0x47740f
lea eax, [ebx + 6]
mov dword [ebp - 0x38], esi
push 0x20
mov dword [ebp - 0x18], eax
mov ebx, esi
mov dword [ebp - 0x20], eax
pop eax
push eax
lea eax, [ebp - 0xe0]
mov dword [ebp - 0x70], esi
push esi
push eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x3c], esi
call fcn.0043eb2d
mov esi, dword [ebp - 4]
add esp, 0xc
test edi, edi
je 0x477c15
mov edx, ebx
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x80], ebx
mov ebx, edx
mov dword [ebp - 0x30], edx
je 0x4386d2
mov eax, edi
mov ecx, 0xfc00
and eax, ecx
cmp eax, 0xd800
je 0x477457
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x20], ecx
ja 0x477493
cmp dword [ebp + 0x2c], 0
je 0x4386ef
mov eax, dword [ebp - 0x20]
cmp eax, ecx
ja 0x47749e
cmp dword [ebp - 0x64], 0
jne 0x4774b2
cmp edi, 0x5b
je 0x4774da
push 0x5c
pop ecx
cmp edi, ecx
je 0x47774e
xor edx, edx
mov ecx, dword [ebp + 0x28]
mov ebx, dword [ebp - 0x2c]
push 0x5c
pop eax
cmp word [esi + 2], ax
je 0x477a1e
push 0xd
pop eax
mov edx, esi
cmp edi, eax
je 0x477a47
push 0xa
pop eax
cmp edi, eax
je 0x477a47
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne 0x43874e
push 0x2d
pop eax
cmp word [esi + 2], ax
je 0x477a53
mov eax, dword [ebp - 0x80]
mov ebx, eax
push 2
pop edx
mov dword [ebp - 0x1c], eax
cmp eax, edx
jl 0x43885d
test ecx, ecx
jne 0x438775
cmp dword [ebp - 0x3c], ecx
jne 0x438775
mov ecx, dword [ebp - 0xc]
cmp ebx, ecx
je 0x438ccf
push edi
push edi
push dword [ebp + 0x28]
push dword [ebp - 0x2c]
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0xe0]
call fcn.00438d61
mov edx, eax
add esp, 0x10
add edx, dword [ebp - 0x30]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
push 2
pop edi
add esi, edi
mov dword [ebp - 4], esi
movzx edi, word [esi]
mov dword [ebp - 0x14], edi
test edi, edi
je 0x477bf6
push 0x5d
pop eax
cmp edi, eax
jne 0x4386b0
cmp dword [ebp - 0x64], 0
jne 0x4386b0
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x20], ecx
ja 0x4387d5
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x34]
cmp edi, 0xfffffffe
jne 0x4387e3
or edi, 0xffffffff
mov dword [ebp - 0x34], edi
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x84], edx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x68], edi
test eax, eax
jne 0x477d7c
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
je 0x438816
mov eax, dword [ebp - 0x20]
sub eax, ecx
sar eax, 1
add dword [ebx], eax
mov esi, dword [ebp - 0x10]
xor eax, eax
cmp esi, edx
mov edx, dword [ebp - 8]
push 0x6e
setne al
pop ecx
add eax, ecx
mov word [edx], ax
push 2
pop eax
add edx, eax
mov dword [ebp - 8], edx
test ebx, ebx
jne 0x438856
test esi, esi
jne 0x477ebb
push 0x20
pop eax
push eax
lea eax, [ebp - 0xe0]
push eax
push edx
call fcn.0043d60d
mov edx, dword [ebp - 8]
add esp, 0xc
push 0x20
jmp 0x43839e
lea ebx, [eax + 1]
mov dword [ebp - 0x1c], ebx
jmp 0x438761
push 0x45
pop ecx
cmp word [esi + 2], cx
push 0x5c
pop ecx
jne 0x43828a
jmp 0x474fc0
push 0x51
pop ecx
cmp word [esi + 2], cx
jne 0x43829c
jmp 0x474fc7
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x50]
jmp 0x4382f7
or eax, 0xffffffff
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x477fc1
test ecx, ecx
jne 0x4388d0
mov ebx, dword [ebp - 0x7c]
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x84]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x54], ebx
sub ecx, eax
mov dword [ebp - 0x48], edx
neg ecx
push 2
sbb ecx, ecx
xor ebx, ebx
pop eax
and ecx, eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x80], ecx
test edi, edi
jne 0x475e07
push 0x23
pop eax
push 0x28
pop ecx
push 0x3f
pop edx
cmp word [esi + 2], cx
je 0x475f03
lea ecx, [esi + 2]
movzx eax, word [ecx]
push 0x2b
pop edi
cmp ax, di
je 0x475f58
cmp ax, dx
jne 0x475f63
mov ebx, dword [ebp - 0xfc]
mov esi, ecx
mov dword [ebp - 4], esi
mov edx, dword [ebp - 0x28]
push 0x75
pop eax
mov dword [ebp - 0x24], ebx
cmp word [edx], ax
je 0x475f6e
mov edi, dword [ebp - 8]
movzx ecx, word [edx]
push 0x1d
pop eax
cmp cx, ax
je 0x47668e
push 0x1e
pop eax
cmp cx, ax
je 0x47668e
push 0x1f
pop eax
cmp cx, ax
je 0x47668e
push 0x20
pop eax
cmp cx, ax
je 0x47668e
cmp ecx, 0x17
jae 0x475ff7
push 0x34
mov edi, ecx
pop ebx
mov dword [ebp - 0x18], edi
mov eax, ecx
push 0x10
pop ecx
cmp ax, cx
je 0x47673d
push 0xf
pop ecx
cmp ax, cx
je 0x47673d
or dword [ebp - 0x10], 0xffffffff
lea edi, [edx + 2]
or dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 8]
mov dword [ebp - 8], edx
test eax, eax
je 0x438a17
mov edx, dword [ebp - 0x24]
add edx, ebx
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x30], edx
jne 0x476784
mov ecx, dword [ebp - 0x44]
movzx eax, dx
cmp ecx, 0xffffffff
jne 0x476752
mov ecx, dword [ebp - 0x28]
add eax, 0x21
push 2
mov word [ecx], ax
pop ecx
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x5c], 0
je 0x4389f7
test ebx, 0x10000000
jne 0x4768ad
mov word [edi], bx
mov ebx, ecx
lea edx, [ebx + edi]
mov dword [ebp - 8], edx
test esi, esi
jns 0x476678
mov esi, dword [ebp - 4]
cmp dword [ebp - 0x1c], 0
jne 0x4768cb
mov ecx, dword [ebp + 0x28]
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x80]
or dword [ecx + 0x68], eax
jmp 0x4381bd
test dword [ebp - 0x2c], 0x1000
jne 0x475d9f
mov edx, dword [ebp - 8]
inc dword [ecx + 0x40]
mov ax, word [ecx + 0x40]
mov ebx, dword [ebp - 0xc]
mov word [edx + 4], ax
mov esi, dword [ebp - 4]
mov ecx, dword [ecx + 0x58]
mov edi, dword [ebp + 0x28]
lea eax, [ecx + 1]
mov dword [edi + 0x58], eax
mov edi, dword [ebp - 0x24]
cmp ecx, 0xfa
jge 0x478014
mov eax, 0x80
cmp edi, eax
mov eax, dword [ebp + 0x28]
jbe 0x476d2c
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x10]
sar ecx, 1
mov dword [ebp - 0x40], ecx
xor ecx, ecx
mov dword [ebp - 0x28], edx
mov word [edx], di
mov edi, dword [eax + 0x68]
mov esi, dword [eax + 0x40]
mov eax, dword [ebp + 0x2c]
neg eax
mov dword [ebp - 0x8c], ecx
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x48], edx
sbb eax, eax
mov dword [ebp - 0x80], edi
and eax, ecx
xor edx, edx
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x87
sete dl
cmp ecx, 0x7f
je 0x476d48
cmp ecx, 0x80
je 0x476d48
xor ecx, ecx
push eax
push dword [ebp + 0x28]
lea eax, [ebp - 0xa0]
push dword [ebp + 0x20]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp + 0x24]
add eax, edx
lea edx, [ebp - 0x48]
push eax
push ebx
push dword [ebp - 0x30]
lea eax, [ebp - 4]
push ecx
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.00437cb7
add esp, 0x34
test eax, eax
je 0x477b9b
mov ecx, dword [ebp + 0x28]
mov eax, 0x81
mov ebx, dword [ebp - 0x24]
dec dword [ecx + 0x58]
cmp ebx, eax
je 0x476d50
mov eax, dword [ebp - 8]
mov edx, 0x80
cmp ebx, edx
jbe 0x476d69
mov ecx, 0x87
cmp ebx, ecx
je 0x476d71
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 4]
push 0x29
pop edx
cmp word [esi], dx
jne 0x478006
cmp dword [ebp + 0x2c], 0
jne 0x438d1e
mov edx, dword [ebp - 0x48]
mov dword [ebp - 8], edx
cmp ebx, 0x91
je 0x4381c0
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x68], ecx
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
mov ecx, 0x81
cmp ebx, ecx
mov ecx, dword [ebp - 0x9c]
jb 0x476e25
cmp dword [ebp - 0x34], 0xfffffffe
je 0x476dde
test ecx, ecx
jns 0x476e06
test eax, eax
js 0x4381c0
jmp 0x476e3d
mov ebx, dword [ebp + 0xc]
lea edx, [ebp - 0xbc]
xor eax, eax
mov dword [ebp - 0x74], esi
mov esi, dword [ebp + 0x28]
lea ecx, [ebp - 4]
push eax
push dword [ebp - 0x2c]
push dword [esi + 0x40]
push ebx
call fcn.00439376
xor edx, edx
add esp, 0x10
mov edi, eax
cmp dword [ebx], edx
jne 0x477b9b
test edi, edi
je 0x476aa4
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
jne 0x438c21
lea eax, [edi - 6]
cmp eax, 0x10
ja 0x438c21
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x70], eax
cmp edi, 0x1b
je 0x476af3
cmp edi, 0x1c
je 0x476e6d
test edi, edi
js 0x47724d
push 0xf
pop eax
cmp edi, eax
je 0x477313
push 0x10
pop eax
cmp edi, eax
je 0x477313
mov ecx, dword [ebp - 0xc]
cmp edi, 5
je 0x4772ca
push 4
pop eax
cmp edi, eax
je 0x4772ca
cmp edi, ecx
je 0x4772ca
mov ebx, esi
push 0x1d
pop eax
cmp edi, eax
jge 0x4772dd
push 0x10
pop ecx
lea eax, [edi - 6]
cmp ecx, eax
mov ecx, dword [ebx + 0x20]
sbb edx, edx
sub ecx, dword [ebx + 0x10]
not edx
sar ecx, 1
and edx, dword [ebp - 8]
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x40], ecx
je 0x477300
mov edx, dword [ebp - 8]
push 2
pop esi
mov word [edx], di
add edx, esi
mov dword [ebp - 8], edx
jmp 0x4385c5
push 0x5d
pop eax
cmp word [esi + 2], ax
jne 0x438775
jmp 0x477c23
mov ecx, dword [ebp - 0x60]
or dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0xc]
cmp edi, ecx
jne 0x477d46
movzx eax, ax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x34], eax
cmp edi, ecx
jne 0x477d60
mov edx, dword [ebp - 8]
jmp 0x4385c5
mov ebx, dword [ebp + 0x2c]
mov ecx, 0x7fffffeb
mov edi, dword [ebp - 0x8c]
mov edx, dword [ebx]
sub ecx, edx
lea eax, [edi - 4]
cmp ecx, eax
jl 0x477ff8
push 2
pop ecx
lea eax, [edi - 4]
add eax, edx
mov edx, dword [ebp - 8]
add edx, ecx
mov dword [ebx], eax
push 0x78
pop eax
mov word [edx], cx
add edx, ecx
mov word [edx], ax
add edx, ecx
mov word [edx], cx
add edx, ecx
jmp 0x4383a1
add dword [edi - 0x18], edx
dec edx
cmp al, byte [eax]
add byte [ebx + 0x75890cc4], al
loopne 0x474ff7
ror byte [ecx - 0x76bf17a3], 0x45
in al, dx
call 0xec8cd90c
inc eax
add byte [eax], al
sbb al, 0x7d
push ds
lea eax, [edx + 1]
mov dword [ecx], eax
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + edx*4]
je 0x47505d
push dword [eax + edx*4]
call fcn.0047c87e
mov al, 1
pop ebp
ret 4
sub eax, 0x82
je 0x47521c
sub eax, 0x8f
je 0x4b4e33
dec eax
sub eax, 1
je 0x4b4e1f
sub eax, 0x1ff
je 0x4b4e04
sub eax, 0xef
je 0x47520a
add byte [eax], al
je 0x4b4db2
mov eax, edi
sub eax, 1
je 0x4751d4
sub eax, 1
jne 0x4b4d53
push 1
push esi
call dword [0x49c718]
mov ecx, 0x4d1990
call fcn.004750a9
call fcn.00475c07
push 0
push 0x2ee
add byte [eax - 0x2c], ch
retf 0x49
push dword [ebp + 0xc]
push ecx
push ecx
push esi
mov ecx, 0x4d1990
call fcn.00475226
jmp 0x4751d0
push 0
call dword [0x49c714]
jmp 0x4751d0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x3c], 0x30
add byte [eax], al
push 0
push eax
mov edi, ecx
call fcn.004942f7
mov eax, dword [ebp + 0x14]
add esp, 0xc
mov ecx, dword [edi + 0x9d0]
xor esi, esi
mov dword [ebp - 4], ecx
push 8
pop ebx
push 1
pop edx
sub eax, 0x200
jne 0x4b4e52
push 0x40
pop esi
push 0xfffffffffffffff5
mov ecx, edi
call fcn.00475283
test dword [edi + 0xc], esi
jne 0x4b4f1b
pop edi
pop esi
pop ebx
leave
ret 0x10
add bh, al
add eax, 0x4d23f0
add byte [eax], al
add al, ch
dec esi
je 0x4754c9
add byte [ebp - 0x17d7dbb4], cl
add eax, 0x548d0000
and al, 0x28
mov ecx, edx
call fcn.0047530e
push 0x49cb28
lea ecx, [esp + 0x2c]
call fcn.0047537d
lea eax, [esp + 0x28]
mov ecx, 0x4d23c8
push eax
call fcn.00477116
lea ecx, [esp + 0x18]
call fcn.0047c918
lea ecx, [esp + 0x18]
call fcn.0047c67a
lea eax, [esp + 0x10]
xor esi, esi
push eax
push 1
push esi
push 0x49caf4
push 0x80000001
call dword [0x49c018]
test eax, eax
je 0x4b512d
lea ecx, [esp + 0x18]
call fcn.0047b846
lea ecx, [esp + 0x28]
call fcn.0047b846
pop edi
pop esi
mov eax, 0x4d2390
pop ebx
mov esp, ebp
pop ebp
ret 8
inc esp
ja 0x4759f0
pop edi
pop esi
pop ebp
ret
invalid
ret
ret
mov edx, 0x5efffffc
adc byte [ebp + 0x336974f6], al
sal byte [ebx], 0xdb
mov word [esi], ax
lea eax, [ebp - 8]
push eax
push 1
push ebx
push edx
push ecx
call dword [0x49c018]
test eax, eax
jne 0x475b50
mov eax, dword [ebp + 0xc]
push edi
lea edi, [eax + eax]
lea eax, [ebp - 4]
mov dword [ebp - 4], edi
push eax
push esi
push ebx
push ebx
push dword [ebp + 8]
push dword [ebp - 8]
call dword [0x49c020]
test eax, eax
jne 0x475b37
mov eax, dword [ebp - 4]
shr eax, 1
mov dword [ebp - 4], eax
cmp eax, dword [ebp + 0xc]
jae 0x475b47
xor ecx, ecx
mov word [esi + eax*2], cx
mov bl, 1
push dword [ebp - 8]
call dword [0x49c01c]
mov al, bl
pop edi
pop esi
pop ebx
leave
ret
xor eax, eax
mov word [edi + esi - 2], ax
jmp 0x475b35
xor al, al
jmp 0x475b43
add byte [eax - 0x37], al
dec ecx
add byte [ecx], bh
xor eax, 0x4d1928
jbe 0x475bbb
add byte [esi + 0x22], dh
mov eax, dword [0x4d1924]
push 4
push dword [eax + esi*4]
call fcn.00491d84
mov eax, dword [0x4d1924]
pop ecx
pop ecx
mov dword [eax + esi*4], edi
inc esi
cmp esi, dword [0x4d1928]
jb 0x475b99
push dword [0x4d1924]
mov dword [0x4d1928], edi
call fcn.00491dcb
pop ecx
mov ecx, 0x4d190c
mov dword [0x4d190c], 0x49c93c
call fcn.0047378c
push dword [0x4d1910]
call fcn.00491dcb
pop ecx
mov ecx, 0x4d18f0
call fcn.0047b846
mov eax, dword [0x4d18e0]
pop edi
test eax, eax
jne 0x4b53ed
pop esi
ret
push esi
push edi
call fcn.0047618a
push 0xf
pop esi
mov edi, 0x4d1b24
sub edi, 0x10
mov ecx, edi
call fcn.0047b846
out dx, eax
adc byte [ebx + 0x5a8ee8cf], cl
add byte [eax], al
sub esi, 1
jne 0x475dae
mov eax, dword [0x4d1a20]
test eax, eax
jne 0x4b5480
mov ecx, 0x4d1a0c
call fcn.0047b846
jb 0x475e2c
add byte [eax], al
mov ecx, 0x4d19fc
call fcn.0047b846
mov ecx, 0x4d19ec
call fcn.0047b846
mov ecx, 0x4d19dc
call fcn.0047b846
mov ecx, 0x4d19cc
call fcn.0047b846
mov ecx, 0x4d19bc
call fcn.0047b846
pop edi
mov ecx, 0x4d19ac
pop esi
jmp fcn.0047b846
fsub qword [ebx]
dec ebp
add byte [eax], al
push esi
push edi
jne 0x475f7e
mov eax, dword [0x4d23a0]
test eax, eax
je 0x475f82
mov esi, dword [0x4d2398]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call int.00491dc2
mov edi, dword [0x4d23a0]
pop ecx
xor ecx, ecx
mov dword [ebp - 0xc], eax
mov dword [0x4d23a4], eax
mov edx, ecx
mov dword [ebp - 0x10], ecx
test edi, edi
jle 0x475e97
mov edi, eax
mov eax, dword [esi]
mov dword [edi + edx*4], eax
inc edx
mov edi, dword [0x4d23a0]
mov esi, dword [esi + 0xc]
cmp edx, edi
jge 0x475e97
mov edi, dword [0x4d23a4]
jmp 0x475e7c
xor eax, eax
mov dword [ebp - 0x2c], ecx
inc eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 4], eax
lea esi, [edi + 1]
mov dword [ebp - 8], eax
mov eax, esi
mov dword [ebp - 0x24], ecx
xor ecx, ecx
push 0x10
pop edx
mul edx
mov dword [ebp - 0x30], 0x49cc4c
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call int.00491dc2
pop ecx
test eax, eax
je 0x4b5498
lea edx, [eax + 4]
mov dword [eax], esi
xor eax, eax
mov ecx, edx
test esi, esi
je 0x475f02
mov dword [ecx], 0x49cc4c
lea ecx, [ecx + 0x10]
mov dword [ecx - 0xc], eax
mov dword [ecx - 8], eax
mov dword [ecx - 4], eax
sub esi, 1
jne 0x475eeb
mov dword [0x4d23dc], edx
adc eax, 0x4d23dc
mov esi, eax
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc], 0x10
push edx
call fcn.00475f86
test eax, eax
je 0x475f56
cmp word [eax], 0x3b
lea ecx, [ebp - 0x30]
je 0x4b54a1
push ecx
push eax
push edx
call fcn.0047be47
test eax, eax
js 0x475f5a
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x30]
add ecx, dword [0x4d23dc]
push eax
call fcn.00475fae
mov edx, dword [ebp - 8]
inc edx
add dword [ebp - 0xc], 0x10
mov dword [ebp - 8], edx
jmp 0x475f14
mov byte [ebp - 0x10], 1
lock add dword [ebp + 0x45c7d04d], ecx
ror byte [esp + ecx*8 + 0x49], 1
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], 0x49cc4c
call fcn.004760f7
add al, ch
mov es, word [ecx]
add byte [eax], al
push dword [ebp - 0x2c]
call fcn.00491dcb
mov al, byte [ebp - 0x10]
pop ecx
mov esi, 0x458a0001
invalid
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov al, 1
jmp 0x475f75
xor al, al
jmp 0x475f75
mov edi, eax
pop ecx
jne 0x4b5530
mov dword [esi + 4], edi
mov eax, dword [ebx + 8]
xor ebx, ebx
mov dword [esi + 8], eax
mov dword [ebp - 4], ebx
test eax, eax
je 0x476065
push 0xc
call fcn.00491d92
mov edi, eax
mov eax, dword [ebp + 8]
pop ecx
mov ecx, dword [eax + 4]
mov ebx, dword [ecx + ebx*4]
movzx ecx, word [ebx + 8]
mov eax, ecx
mov word [edi + 8], cx
mov cx, word [ebx + 0xa]
mov word [edi + 0xa], cx
cmp ax, 0x3f
jle 0x47606e
push 0x10
pop ecx
cmp ax, cx
je 0x4b553e
cmp ax, 0x20
je 0x4760a1
mov eax, dword [ebx]
mov dword [edi], eax
mov ebx, dword [ebp - 4]
mov eax, dword [esi + 4]
mov dword [eax + ebx*4], edi
inc ebx
mov dword [ebp - 4], ebx
cmp ebx, dword [esi + 8]
jb 0x476012
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 4
cmp ax, 0x30
jl 0x47603d
push 0x10
pop eax
push eax
call fcn.00491d92
mov edx, dword [ebx]
pop ecx
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
inc dword [ecx]
jmp 0x476051
fld qword [ebx]
fstp qword [edi]
jmp 0x476053
mov edx, dword [esi]
mov eax, dword [ebp - 0xc]
push 0x41
pop ecx
movzx eax, word [eax + edx*2]
mov dword [ebp - 0x20], eax
movzx eax, ax
cmp eax, 0x2e
je 0x47679b
cmp eax, 0x2b
je 0x4b5ae1
cmp eax, 0x2d
je 0x4b5ae1
cmp eax, 0x2f
jbe 0x476675
cmp eax, 0x39
ja 0x476663
and ebx, 0xffffffe7
mov ecx, edx
or ebx, 0x20
mov al, byte [ebp - 5]
test bl, 0x20
je 0x4765e4
lea eax, [ecx + 1]
mov dword [esi], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax + ecx*2]
mov ecx, edi
push eax
call fcn.00476974
and ebx, 0xffffffdf
jmp 0x47657c
push 0
test bl, 0x10
pop ebx
cmp eax, 0x45
je 0x4b5aae
cmp eax, 0x65
je 0x4b5aae
and eax, 0xffffffdf
cmp eax, ecx
jae 0x47668e
cmp word [ebp - 0x20], 0x5f
mov ecx, edx
jne 0x4765c3
jmp 0x4b5ac4
cmp eax, 0x5a
ja 0x47667c
jmp 0x4b5ac4
add bh, dh
fist word [ebx]
neg esi
cmp ax, word [ebp - 0x14]
jae 0x4b5aa0
mov ecx, dword [edi]
lea edx, [ebp - 0x24]
push 0x10
call fcn.0048bf2f
pop ecx
test al, al
je 0x476800
xor eax, eax
cmp esi, 8
mov esi, dword [ebp + 8]
mov ecx, esi
setg al
dec eax
and eax, 0xfffffff5
add eax, 0x10
push eax
call fcn.0047c5b2
adc byte [eax - 0x18], dl
daa
pop esi
add byte [eax], al
mov eax, dword [ebp - 0x24]
mov dword [esi], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 4], eax
jmp 0x47665c
test bl, 2
je 0x4767a3
push 0x25
pop ebx
mov al, 1
mov ecx, edx
mov byte [ebp - 5], al
jmp 0x4765c6
mov eax, dword [ebx]
mov ecx, dword [ebp + 8]
movzx esi, word [ecx + eax*2]
cmp si, 0x5a
jbe 0x4768b9
cmp si, 0x61
jb 0x4768c1
cmp si, 0x7a
ja 0x4768c1
push esi
mov ecx, edi
call fcn.00476974
inc dword [ebx]
jmp 0x476892
cmp si, 0x41
jae 0x4768ad
jmp 0x4768a1
cmp si, 0x30
jae 0x476965
cmp si, 0x5f
je 0x4768ad
mov ecx, edi
call fcn.0047ce80
push dword [edi + 4]
push dword [edi]
call dword [0x49c684]
mov ecx, edi
call fcn.00476a15
mov ebx, eax
test ebx, ebx
js 0x47690b
cmp si, 0x20
jne 0x476922
push 0
mov esi, dword [ebp + 0x10]
mov ecx, esi
call fcn.0047c5b2
mov dword [esi], ebx
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
mov ecx, dword [0x4d2394]
push dword [edi]
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, eax
test ebx, ebx
js 0x476950
push 1
jmp 0x4768f8
cmp si, 0x2c
je 0x4768f6
cmp si, 0x29
je 0x4768f6
cmp si, 9
je 0x4768f6
cmp si, 0x3d
je 0x4768f6
cmp si, 0x28
je 0x4768f6
cmp si, 0x5d
je 0x4768f6
test si, si
je 0x4768f6
jmp 0x4b5b5c
mov ecx, dword [ebp + 0x10]
push 0x34
call fcn.0047c5b2
mov ecx, dword [ebp + 0x10]
push edi
call fcn.0047c62a
jmp 0x476904
cmp si, 0x39
jbe 0x4768ad
jmp 0x4768cb
push dword [edi]
push dword [esi*4 + 0x4b1370]
call fcn.004971e9
pop ecx
pop ecx
jo 0x476a35
dec ebx
add al, ch
rol byte [edi], 2
add byte [ecx + 0x59], bl
test eax, eax
je 0x476a3a
inc esi
cmp esi, 0x2d
jl 0x476a1b
or eax, 0xffffffff
jmp 0x476a3c
mov eax, esi
pop edi
pop esi
ret
jge 0x476a59
mov ecx, esi
mov eax, dword [ebx + 4]
add eax, dword [edi + 4]
push eax
call fcn.00478227
add byte [eax], al
mov eax, dword [ebx + 4]
add eax, eax
push eax
push dword [ebx]
push dword [esi]
call fcn.00492dd7
mov eax, dword [edi + 4]
mov edx, dword [ebx + 4]
mov ecx, dword [esi]
push cs
lea eax, [eax*2 + 2]
push eax
push dword [edi]
lea ecx, [ecx + edx*2]
push ecx
call fcn.00492dd7
mov ecx, dword [ebx + 4]
add esp, 0x18
add ecx, dword [edi + 4]
mov eax, esi
mov dword [esi + 4], ecx
pop edi
pop esi
pop ebx
pop ebp
ret 8
aam 3
add byte [ebx + 0x56], dl
mov esi, ecx
push edi
lea eax, [esi + 0x14]
mov ecx, eax
mov dword [ebp - 0x10], eax
call fcn.00478797
mov eax, dword [ebp + 8]
and dword [esi], 0
mov byte [esi + 0x24], 0
cmp word [eax], 0x21
je 0x4b5c01
lea ecx, [esi + 4]
push eax
mov dword [ebp + 8], ecx
call fcn.00478b0e
xor esi, esi
xor eax, eax
xor edi, edi
mov dword [ebp - 8], esi
mov esi, dword [ebp + 8]
xor bl, bl
mov dword [ebp - 0xc], eax
xor bh, bh
push edi
mov ecx, esi
call fcn.00476c24
push 0x20
add byte [edx + 0x20], ch
pop ecx
movzx eax, word [eax]
cmp ax, cx
je 0x4b5c0d
push 9
pop ecx
cmp ax, cx
je 0x4b5c0d
mov esi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
push edi
call fcn.00476c24
inc edi
movzx eax, word [eax]
test ax, ax
je 0x476be0
cmp esi, 0x1000
jge 0x476be0
push 0x20
pop ecx
cmp ax, cx
je 0x476b78
push 9
pop ecx
cmp ax, cx
je 0x476b78
push 0x22
pop ecx
cmp ax, cx
je 0x476b57
mov word [ebp + esi*2 - 0x202c], ax
inc esi
jmp 0x476b12
mov ecx, dword [ebp + 8]
push edi
call fcn.00476c24
push 0x22
pop ecx
cmp word [eax], cx
je 0x4b5c13
test bl, bl
je 0x476bd6
xor bl, bl
test bl, bl
je 0x476b12
jmp 0x476bd8
cmp bl, 1
je 0x476b4c
xor eax, eax
lea ecx, [ebp - 0x20]
mov word [ebp + esi*2 - 0x202c], ax
lea eax, [ebp - 0x202c]
push eax
call fcn.0047bc6a
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x20]
push eax
call fcn.00477116
lea ecx, [ebp - 0x20]
call fcn.0047b846
xor esi, esi
xor bh, bh
mov dword [ebp - 8], esi
mov esi, dword [ebp + 8]
push edi
mov ecx, esi
call fcn.00476c24
push 0x20
pop ecx
movzx eax, word [eax]
cmp ax, cx
je 0x476bd3
push 9
pop ecx
cmp ax, cx
jne 0x476b0f
inc edi
jmp 0x476bb4
mov bl, 1
mov dword [ebp - 0xc], esi
jmp 0x476b12
test esi, esi
je 0x4b5c2a
test bl, bl
jne 0x4b5c3f
xor eax, eax
lea ecx, [ebp - 0x20]
mov word [ebp + esi*2 - 0x202c], ax
lea eax, [ebp - 0x202c]
push eax
call fcn.0047bc6a
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x20]
push eax
call fcn.00477116
lea ecx, [ebp - 0x20]
call fcn.0047b846
pop edi
pop esi
pop ebx
leave
ret 4
mov dword [0x4d18dc], ebx
mov dword [0x4d18e0], ebx
mov dword [0x4d18e4], ebx
mov byte [0x4d18e8], bl
call fcn.0047c918
push 3
pop esi
push 0x7c
pop eax
mov word [0x4d18c4], ax
xor eax, eax
mov dword [0x4d190c], 0x49c93c
mov dword [0x4d1910], ebx
mov dword [0x4d1914], ebx
mov dword [0x4d1918], ebx
mov dword [0x4d191c], edi
mov dword [0x4d1920], 0x49c940
mov dword [0x4d1924], ebx
mov dword [0x4d1928], ebx
mov dword [0x4d192c], ebx
mov dword [0x4d1930], esi
mov dword [0x4d1934], 2
dec ebp
add bh, al
add eax, 0x4d1920
inc eax
leave
dec ecx
add byte [ecx + 0x4d19241d], cl
add byte [ecx + 0x4d19281d], cl
add byte [ecx + 0x4d192c1d], cl
add byte [ecx + 0x4d193035], cl
add bh, al
add eax, 0x4d1934
add al, byte [eax]
add byte [eax], al
mov dword [0x4d1938], ebx
mov dword [0x4d193c], ebx
mov dword [0x4d1940], ebx
mov dword [0x4d1944], edi
mov dword [0x4d1948], edi
cmp byte [ecx], bl
dec ebp
add byte [ecx + 0x4d193c1d], cl
add byte [ecx + 0x4d19401d], cl
add byte [ecx + 0x4d19443d], cl
add byte [ecx + 0x4d19483d], cl
add byte [ecx + 0x4d197c1d], cl
add byte [ecx + 0x4d19801d], cl
add byte [ecx + 0x4d19841d], cl
add byte [ecx + 0x4d19883d], cl
add byte [esi - 0x5d], ah
invalid
dec eax
sbb dword [ebp], ecx
mov dword [0x4d197c], ebx
mov dword [0x4d1980], ebx
mov dword [0x4d1984], ebx
mov dword [0x4d1988], edi
mov word [0x4d18c6], ax
call fcn.00475aa7
test al, al
jne 0x4b5c6d
in eax, dx
invalid
mov dword [ebp - 4], ebx
lea eax, [ebp - 4]
mov ecx, 0x4d1920
push eax
call fcn.004771ae
sub esi, 1
jne 0x476d5e
add al, 0
add byte [ebx - 0x128afe12], al
pop edi
pop esi
mov eax, 0x4d18b0
pop ebx
leave
ret
dec ecx
add al, ch
ror cl, 1
invalid
add al, ch
mov edi, 0x590001af
pop edi
pop esi
ret
push 0x4c3590
push esi
call dword [0x49c1a0]
test eax, eax
je 0x476e39
push dword [edi]
call eax
test esi, esi
je 0x476e44
push esi
call dword [0x49c198]
pop edi
pop esi
ret
je 0x476e72
push edi
call eax
test esi, esi
je 0x476e7d
push esi
call dword [0x49c198]
mov eax, edi
pop edi
pop esi
ret
inc esi
add al, 0x89
inc ebp
in al, dx
call 0x2e99b7
jmp [edx + 0x5c]
fbstp tbyte [esi + 0x22]
clc
clc
add byte [edi], cl
test dword [esi], ebp
jmp 0x4773d6
add byte [ecx], al
add byte [ebx + 0x57], dl
add dword [eax], eax
add byte [ecx + 0x458b3046], cl
hlt
outsd dx, dword [esi]
fcomp dword [ebx]
retf 0x4d39
fiadd dword [eax]
mov ecx, dword [ebp + 0xc]
push 0x49cc08
mov dword [esp + 0x14], eax
call fcn.0047bc25
mov edi, dword [ebp + 8]
cmp dword [edi + 8], 2
jne 0x47778a
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
call fcn.0047d51e
mov esi, eax
mov dword [esp + 0x10], esi
cmp esi, 0xffffffff
je 0x4b604b
test esi, esi
jle 0x4b6061
mov eax, dword [edi + 4]
mov eax, dword [eax]
cmp dword [eax + 0xc], 4
jne 0x4b60df
push 0x38
call fcn.00491d92
mov edi, eax
mov dword [esp], 0x10000
and dword [edi], 0
call int.00491dc2
pop ecx
mov ecx, edi
mov dword [edi + 4], eax
call fcn.004781fd
lea ecx, [edi + 0x18]
call fcn.0047c918
mov ecx, edi
call fcn.004781fd
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov ecx, esi
call fcn.004794c7
mov esi, dword [esi + 8]
mov ecx, edi
call fcn.004781fd
mov eax, 0x8000
mov ecx, edi
push eax
push esi
mov dword [edi + 0x28], eax
call fcn.004776fc
test al, al
je 0x4b6059
mov ecx, edi
call fcn.00477551
mov ecx, edi
call fcn.00477395
mov ecx, edi
call fcn.0047737e
test byte [edi + 0x28], 3
jne 0x4b6090
push 0x400
lea ecx, [esp + 0x1c]
call fcn.00478227
mov esi, dword [esp + 0x10]
xor al, al
mov byte [esp + 0xf], al
mov ecx, edi
test esi, esi
je 0x4b614a
call fcn.0047737e
and dword [esp + 0x10], 0
test esi, esi
jle 0x477875
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.0047b7be
test al, al
je 0x4b610d
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, esi
jl 0x47784c
mov al, byte [esp + 0xf]
test al, al
jne 0x477882
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x18]
push eax
call fcn.0047826c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp dword [eax + 0xc], 4
jne 0x4778a3
mov ecx, edi
call fcn.004781fd
test edi, edi
je 0x4778a3
push ecx
mov ecx, edi
call fcn.004781cd
lea ecx, [esp + 0x18]
call fcn.0047b846
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
jge 0x477a28
sbb eax, 0xe8530774
mov byte [0x590001a3], al
add byte [ecx + 0x33], bl
test byte [ebp - 0x17cfdbb4], 0x22
jne 0x477a34
xor esi, esi
lea ecx, [esp + 0x30]
call fcn.0047ef57
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
add byte [edi - 0x75], bl
invalid
sub eax, 0x37004442
inc edx
inc esp
add byte [ebx + 0x59], bh
inc eax
add byte [esi + 0x59], bh
jle 0x477aae
inc eax
add byte [edx], ch
inc edx
inc esp
add byte [esi + 0x42], dh
inc esp
add byte [0x6c004442], ah
inc edx
inc esp
add byte [esi + 0x42], bh
inc esp
add byte [ebx], dh
inc edx
inc esp
add byte [edx + eax*2 + 0x59830044], ch
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add al, byte [ebx]
add al, byte [eax + 0x5050c06]
add al, 7
add eax, dword [eax]
pop es
or byte [ecx], cl
or cl, byte [edx]
or cl, byte [edx]
add eax, dword [eax]
or edx, dword [ebp - 0x75]
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x28
push ebx
push esi
mov esi, dword [0x4d191c]
push edi
cmp eax, 0xc
je 0x4b62dd
add eax, dword [eax]
cmp eax, 0xd
jle 0x477ad0
cmp eax, 0xf
jle 0x4b62dd
cmp eax, 0x11
je 0x4b62dd
cmp eax, 0x14
je 0x4b62dd
cmp esi, 0xffffffff
je 0x4b67d3
mov eax, dword [0x4d1910]
mov eax, dword [eax + esi*4]
mov ebx, dword [eax]
push ebx
mov dword [ebp - 0x1c], ebx
call fcn.00478085
mov edi, eax
mov dword [ebp - 0x20], edi
cmp edi, 0xffffffff
je 0x4b67d3
mov eax, dword [0x4d1924]
mov edx, dword [ebp + 8]
mov eax, dword [eax + edi*4]
mov esi, dword [eax]
mov dword [ebp - 0x24], esi
and al, 0x95
xchg edx, eax
pop esp
inc eax
add bh, bh
jne 0x477bc8
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push esi
push ebx
call fcn.00477edf
mov edx, dword [ebp + 8]
test al, al
je 0x4b6622
mov ecx, dword [ebp + 0x28]
mov byte [esi + 0x90], dl
mov byte [esi + 0x91], cl
mov eax, dword [0x4d191c]
sub byte [eax + 0x9096], cl
add byte [eax + 0x918e], cl
add byte [ecx + 0x4d191c], ah
mov dword [0x4d1948], eax
mov dword [0x4d1944], edi
test cl, 1
je 0x4b6643
test cl, 4
je 0x4b669a
add byte [ebx + 0x7500d87d], al
or dword [edx], ebp
cmp dword [ebp - 0x28], 0
jne 0x477c06
push 0
push esi
push ebx
call 0x477cc1
cmp byte [ebx + 0x198], 0
jne 0x4b6789
cmp dword [ebx + 0x50], 0xffffffff
jne 0x4b67ab
push eax
dec dword [edi]
test dword [esi - 0x7cfffc15], ecx
jnp 0x477c74
cmp dword [ebx + 0x54], 0xffffffff
jne 0x4b67b9
dec dword [edi]
test dword [edx - 0x7cfffc15], edx
add byte ds:[ebx + ecx + 0x57], dh
xchg edx, eax
jmp 0x477c29
cmp dword [esi], 0
je 0x477c37
add byte [ebx + ecx + 0x57], dh
push edi
push 0xffffffffffffffeb
push dword [esi]
call dword [0x49c504]
lea ecx, [ebp + 0x2c]
call fcn.0047ef57
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret 0x34
add byte [esi], bl
inc ebp
inc esp
add byte [ebp + eax*2 + 0x44], al
add byte [eax], dl
dec eax
inc esp
add byte [esi], ch
inc ebp
inc esp
add byte [ebp + eax*2 + 0x44], dl
add byte [ebp + 0x45], ch
inc esp
add byte [ecx - 0x55ffbbbb], cl
inc esp
inc esp
add byte [esi + eax*2], dl
inc esp
add byte [edx], dh
inc esi
inc esp
add byte [ebx + 0x46], ah
inc esp
add bh, ch
inc esp
inc esp
add byte [ebp + eax*2 + 0x45ba0044], bl
inc esp
add al, bl
inc ebp
inc esp
add dh, dh
inc ebp
inc esp
add dl, ch
pop ebx
inc eax
add byte [esi], bl
inc esp
inc esp
add byte [ebp + 0x46], al
inc esp
add byte [ebp - 0x75], dl
in al, dx
sub esp, 0x38
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
cmp byte [edi + 0x3a], 0
jne 0x477e53
movzx ebx, word [esi + 0x86]
lea eax, [ebp - 0x34]
push eax
push dword [edi]
call dword [0x49c640]
mov eax, dword [edi + 0x44]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], eax
mov eax, dword [edi + 0x48]
mov dword [ebp + 0x10], edx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
test edx, edx
je 0x4b6813
test ecx, ecx
leave
je 0x4b682d
cmp dword [edi + 0x19c], 0
jne 0x4b6840
lea eax, [ebp - 0x34]
push eax
push dword [esi]
call dword [0x49c6a0]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x34]
sub eax, ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x30]
sub edx, eax
add byte [ebx + 0x4d8bd445], cl
int3
inc ebp
or byte [ebx - 0x2fd42fbb], cl
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
in al, 0x50
push dword [edi]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x1c], ecx
call dword [0x49c758]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp + 0xc]
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
cdq
idiv dword [ebp + 0x10]
mov word [esi + 0x88], ax
mov eax, dword [ebp - 0x18]
imul eax, edi
cdq
inc ebp
call 0x9a0f2c84
idiv ecx
mov word [esi + 0x8a], ax
add byte [eax], al
mov eax, dword [ebp + 8]
imul eax, dword [ebp + 0xc]
cdq
idiv dword [ebp + 0x10]
mov word [esi + 0x8c], ax
mov eax, dword [ebp - 0x10]
imul eax, edi
cdq
idiv ecx
mov word [esi + 0x8e], ax
test bx, bx
je 0x477e4c
test ebx, 0x100
je 0x477ddf
mov eax, dword [ebp + 8]
movzx eax, ax
mov word [esi + 0x8c], ax
test bl, 6
jne 0x477ddf
test bl, 8
jne 0x4b6850
mov eax, dword [ebp + 0x10]
cdq
sub eax, edx
mov edx, dword [ebp - 0x1c]
sar eax, 1
cmp edx, eax
jg 0x4b686f
test ebx, 0x200
je 0x4b68d3
mov eax, dword [ebp - 0x10]
movzx eax, ax
mov word [esi + 0x8e], ax
test bl, 0x60
jne 0x4b68d3
test bl, bl
js 0x4b6899
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp - 0x18]
sar eax, 1
cmp edx, eax
jg 0x4b68b5
mov ecx, dword [ebp - 0x1c]
mov eax, ebx
and eax, 2
mov dword [ebp - 0x14], eax
jne 0x4b68db
test bl, 4
jne 0x4b68e7
mov eax, ebx
and eax, 0x20
mov dword [ebp + 0x10], eax
jne 0x4b6943
test bl, 0x40
jne 0x4b694f
pop edi
pop esi
pop ebx
leave
ret 0xc
cmp byte [esi + 0x90], 7
mov ax, word [edi + 0x58]
mov word [esi + 0x88], ax
mov ax, word [edi + 0x5c]
mov word [esi + 0x8a], ax
je 0x477ed7
mov ax, word [edi + 0x60]
mov word [esi + 0x8c], ax
mov ax, word [edi + 0x64]
mov word [esi + 0x8e], ax
lea eax, [ebp - 0x24]
push eax
push dword [esi]
call dword [0x49c640]
or ebx, 0xffffffff
cmp dword [edi + 0x58], ebx
je 0x4b67e1
cmp dword [edi + 0x5c], ebx
je 0x4b67f1
lea eax, [ebp - 0x24]
push eax
push dword [esi]
call dword [0x49c6a0]
cmp dword [edi + 0x60], ebx
je 0x4b6801
jmp 0x5f807ec3
add eax, dword [eax]
cmp dword [edi + 0x64], ebx
je 0x477ecc
cmp byte [esi + 0x90], 0
jne 0x477e4c
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
jmp 0x4b6975
loopne 0x477ebc
sahf
ljmp 0x10
cmp byte [ebp + 0x10], 0
je 0x477e88
jmp 0x477e72
mov eax, dword [ecx]
test eax, eax
jne 0x477fc1
mov dword [ecx], edx
mov ecx, 0x300
mov al, 1
or word [esi + 0x86], cx
pop edi
pop esi
pop ebx
pop ebp
ret 0x24
mov ecx, eax
jmp 0x477f98
push dword [ebp + 0x1c]
push ecx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
call dword [0x49c72c]
mov esi, eax
test esi, esi
je 0x478033
invalid
cmp byte [ebp + 0x34], bl
je 0x478027
push ebx
push 0x11
call dword [0x49c138]
push eax
push 0x30
push esi
call dword [0x49c694]
cmp dword [edi + 0x18c], ebx
jge 0x4b69aa
pop edi
mov eax, esi
pop esi
pop ebx
pop ebp
ret 0x30
dec ebp
add byte [ebx - 0x77ce7b3], cl
add dword [edi], ecx
test dword [ecx + ebp*8 + 3], ebp
add byte [ebx - 0x77cf7bb], cl
push dword [ebx + eax - 0x77]
inc ecx
pop eax
add byte [edi + edi*2 + 0x68], dh
mov al, byte [0xe8000000]
jecxz 0x478049
add dword [eax], eax
pop ecx
mov ecx, eax
call fcn.00478130
mov edi, eax
mov ecx, 0x4d1920
lea eax, [ebp - 4]
mov dword [ebp - 4], edi
push eax
call fcn.004771ae
mov esi, dword [0x4d1934]
inc esi
mov dword [0x4d1934], esi
dec esi
or al, 0x8b
add dword [ebx - 0x70f0fe08], eax
dec ecx
pop ecx
add al, 0
mov eax, dword [esi]
and dword [esi + 4], 0
pop esi
mov byte [eax], 0
ret
mov ebx, dword [ebp + 0xc]
xor edi, edi
test ebx, ebx
je 0x4b4e0c
mov ecx, dword [esi + 0xc]
lea ebx, [ebx]
or al, 0x8b
dec esi
or al, 0x3b
sti
inc ebp
or al, 0x50
sal byte [esi + edx*8 - 0x75], 0x45
or al, 0x85
sal byte [edi + ecx*8 - 0x77], 0x46
or byte [ebx], dh
leave
mov dword [esi + 0xc], 0
call 0x4c979f
jmp 0x4b4dde
and al, 0x13
add dword [ebx + 0x5f01087e], eax
jbe 0x4b4f4f
mov ecx, dword [edx + 4]
push 0x29
call 0x4b4ed7
test al, al
jne 0x4b4f4f
mov byte [esp + 0xf], bl
call 0x4b68f7
mov edi, eax
cmp edi, 0x10
jg 0x4fa835
test edi, edi
js 0x4fa83d
mov eax, dword [esi + 4]
mov ecx, dword [eax]
cmp dword [ecx + 0xc], 7
je 0x4fa844
cmp dword [esi + 8], 1
jbe 0x4b4f7a
mov esi, dword [eax + 4]
mov ecx, esi
call 0x4b8330
mov dword [esi + 0xc], 1
mov dword [esi], ebx
mov esi, dword [ebp + 8]
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], 1
call 0x4b5140
cmp dword [esp + 0x24], 3
je 0x4fa85e
mov eax, dword [esi + 4]
mov ecx, dword [eax]
call 0x4b671f
mov esi, edx
mov dword [esp + 0x10], eax
cmp byte [esp + 0xf], bl
jne 0x4fa882
lea ecx, [esp + 0x18]
call 0x4b8330
mov al, byte [esp + 0xf]
mov ecx, dword [esp + 0x10]
test al, al
jne 0x4fa8a0
push esi
push ecx
mov edx, edi
lea ecx, [esp + 0x30]
call 0x4b50a9
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x28]
push eax
call 0x4b4ffe
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
add byte [ebx + 0x6fe80c4d], cl
push ss
add byte [eax], al
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 8
add byte [eax], al
add byte [esi - 0x7d], ah
sti
pop edx
add eax, 0x4d8b0000
adc byte [ebp - 0x17af1bbb], cl
mov byte [0x8b000003], al
pop ebp
or al, 0xe9
sar dh, 0xff
inc dword [ebx - 0x78f08502]
or edi, esi
invalid
invalid
inc ebp
aam 0x50
mov dword [ebp - 8], edi
jmp 0x4b5357
dec ecx
add al, 0
add byte [ebx + 0x458d104d], cl
in al, 0x50
call 0x4b5831
inc edi
mov dword [ebp - 8], edi
jmp 0x4b5357
inc esi
or dword [edi], ecx
test dword [edi + 0x51], edx
add al, 0
cmp byte [esi + 8], 0
jne 0x4b5b38
xchg byte [eax], al
add byte [eax], al
push ebx
mov ebx, dword [esi + 4]
mov ecx, dword [ebx + 8]
mov dword [ebp - 8], ecx
test ebx, ebx
je 0x4b5b1f
mov edi, dword [ebx]
test edi, edi
je 0x4b5b10
cmp dword [edi + 0x18], 0
je 0x4b5ad6
push dword [edi + 0x18]
mov ecx, ebx
call 0x4b631a
cmp dword [edi + 0x1c], 0
jne 0x4b5b2c
cmp byte [edi + 0x10], 0
jne 0x4b5aff
sbb eax, 0x8914478b
inc ebp
cld
mov eax, dword [edi + 0x14]
mov dword [ebp - 4], eax
test eax, eax
je 0x4b5aff
mov ecx, eax
call 0x4b6420
push 0x10
push dword [ebp - 4]
push dword [edi + 0x1c]
mov ecx, ebx
call 0x4b631a
jmp 0x4b5adc
inc esp
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
push edi
call 0x4b6f70
mov esi, dword [ebp + 0xc]
mov ecx, edi
pop edi
adc eax, dword [eax]
add byte [ebx - 0x3074f38b], cl
or al, 0x8b
iretd
push esi
call 0x4b5b3c
test eax, eax
jns 0x4b5c35
mov ecx, dword [esi + 0x18]
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], esi
and dword [esi + 0x18], 0
sbb byte [eax], al
mov eax, edi
pop edi
pop esi
pop ebp
ret 8
jle 0x4b5c53
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x1c], eax
mov dword [edi + 0x18], esi
and dword [esi + 0x1c], 0
jmp 0x4b5c2d
sbb byte [ebx - 0x14ffe39a], al
out 0x8b, eax
inc ebp
or byte [ebx - 0x7cffe3a0], al
pushal
sbb byte [eax], al
jmp 0x4b5c31
mov eax, esi
jmp 0x4b5c2f
pop edi
add al, 0x89
pop esi
add al, 0x8d
inc ebx
add dword [ecx], edi
inc esi
or byte [edx + 0x38], dh
lea eax, [ebx*2 + 2]
push eax
push dword [edi]
push dword [esi]
call 0x4cc1b0
add esp, 0xc
pop ebx
pop edi
pop esi
pop ebp
ret 4
mov eax, dword [ecx + edx*4]
movsx eax, word [eax + 8]
sub eax, 0x47
je 0x4b6078
sub eax, 1
je 0x4b605d
call 0x8359d451
call 0x36cf6f8c
dec ebp
add al, 0
sub eax, 0x37
je 0x4fad8e
inc edx
mov dword [edi], edx
jmp 0x4b603e
test esi, esi
jne 0x4b6075
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
lea eax, [edx + 1]
mov dword [edi], eax
xor eax, eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0x10
dec esi
jmp 0x4b6058
inc esi
jmp 0x4b6058
dec esi
push edi
mov edi, dword [esi + 8]
test edi, edi
jne 0x4b60f7
cmp eax, 0xb
jg 0x4fae08
je 0x4faded
sub eax, 5
je 0x4fadd8
sub eax, 3
je 0x4fadc1
dec eax
sub eax, 1
je 0x4fada8
and dword [esi], 0
mov ecx, esi
push ebx
mov dword [esi + 0xc], 1
call 0x4bb470
pop edi
mov eax, esi
pop esi
pop ebx
pop ebp
ret 4
cmp dword [ebx + 0xc], 4
jne 0x4b6091
mov ecx, dword [esi + 8]
cmp ecx, dword [ebx + 8]
je 0x4b60d7
push dword [ebx + 8]
call 0x4b5c57
jmp 0x4b60d7
mov ecx, edi
call 0x4b4c1f
push 0x10
push edi
call 0x4cb15d
and dword [esi + 8], 0
mov eax, dword [esi + 0xc]
pop ecx
pop ecx
jmp 0x4b6099
inc esi
or byte [ecx + 0x7ff0477], cl
pop edi
pop esi
pop ebp
ret 4
sal byte [ebp + 0x26], 0x68
dec eax
int3
fstp qword [ebx]
jmp 0x4b666f
jnp 0x4b6651
add esi, dword [ebp + ebx - 0x75]
retf
fstp qword [ebp - 8]
call 0x4b8330
fld qword [ebp - 8]
fstp qword [ebx]
mov dword [ebx + 0xc], 3
push dword [ebp + 8]
mov ecx, ebx
call 0x4b6600
mov ecx, dword [ebx + 8]
test ecx, ecx
jne 0x4fb225
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 4
jne 0x4b66a4
mov eax, dword [esi + 0xc]
cmp eax, 1
jne 0x4b66db
mov ecx, dword [esi]
mov eax, dword [ebx]
lea esi, [eax + ecx]
cdq
mov dword [ebp + 8], eax
mov edi, edx
mov eax, ecx
mov ecx, dword [ebp + 8]
cdq
add ecx, eax
mov eax, esi
adc edi, edx
cdq
cmp eax, ecx
jne 0x4fb144
cmp edx, edi
jne 0x4fb144
mov dword [ebx], esi
jmp 0x4b666f
cmp eax, 2
je 0x4fb155
call 0x4c612c
mov ecx, esi
call 0x4b6a45
fadd qword [ebx]
fstp qword [ebx]
jmp 0x4b666f
push eax
call 0x4d168b
pop ecx
pop esi
leave
ret
stc
js 0x4b679b
test byte [0x8300044b], al
stc
pop eax
jne 0x4b6751
jmp 0x4fb296
or eax, 0xffffffff
mov edx, 0x7fffffff
jmp 0x4b6758
int1
cmp dword [esi + 0xc], 1
je 0x4b6810
cmp dword [esi + 0xc], 2
je 0x4b6810
push ebx
push edi
call 0x4b671f
mov edi, eax
xor ebx, ebx
cmp dword [esi + 0xc], 4
inc dword [eax]
add byte [eax], al
xor byte [edx + 0x42], 0x3b
ret
invalid
enter 0xffffffffffff8b55, 0xffffffffffffffec
sub esp, 0x10
push ebx
push esi
in al, dx
adc byte [ebx + 0x56], dl
mov esi, dword [ebp + 8]
push edi
or edi, 0xffffffff
mov ebx, edi
mov dword [ebp - 0x10], edi
jge 0x4b6832
mov eax, dword [esi + 4]
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], edi
mov ecx, dword [eax + 4]
call 0x4b68f7
test eax, eax
jle 0x4b68f3
add al, 0xe8
mov eax, dword [0x85000000]
ror byte [edi], 0x8e
xchg ebp, eax
add byte [eax], al
add byte [ebx - 0x77cf7ba], cl
pop es
mov eax, dword [esi + 8]
cmp eax, 7
ja 0x4fb2f8
cmp eax, 6
ja 0x4fb30e
wait
dec edx
add al, 0
cmp eax, 5
ja 0x4fb324
cmp eax, 4
ja 0x4fb33a
cmp eax, 3
jbe 0x4b689a
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0xc]
call 0x4b68f7
mov ebx, eax
mov eax, dword [esi + 8]
or byte [ebx + 0xd7602f8], al
cmp eax, 2
jbe 0x4b68ac
mov eax, dword [esi + 4]
mov ecx, dword [eax + 8]
call 0x4b68f7
mov edi, eax
push dword [ebp - 4]
mov edx, dword [esi + 4]
push dword [ebp - 8]
push dword [ebp - 0xc]
mov ecx, dword [edx + 4]
push dword [ebp - 0x10]
mov esi, dword [edx]
push ebx
push edi
call 0x4b68f7
push eax
mov ecx, esi
call 0x4b68f7
push eax
call 0x4b5e5f
mov edi, eax
invalid
mov esi, dword [ebp + 0xc]
mov ecx, esi
into
call 0x4b8330
mov dword [esi + 0xc], 1
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebx
leave
add byte [ebx], dh
ror byte [ecx + 0x5b5e5f3e], 0xc9
ret 8
xor edi, edi
jmp 0x4b68d7
jmp 0x45d66948
lodsd eax, dword [esi]
add dword [eax], eax
pop ecx
leave
ret
add byte [eax], al
push ecx
push ecx
fstp qword [esp]
call 0x4dae80
mov esi, dword [ebp + 0xc]
add esp, 8
mov ecx, esi
fstp qword [ebp - 8]
call 0x4b8330
fld qword [ebp - 8]