Function at 0x41c587
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
ror dword [edi], 0x84
push ebp
iretd
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
outsd dx, dword [esi]
iretd
add eax, dword [eax]
cmp ax, word [ebp - 8]
je 0x457ec0
mov dword [ebp - 4], 0x80
cmp ax, word [ebp - 4]
jbe 0x41af71
jmp 0x457e9b
push ebp
mov ebp, esp
mov eax, 0x11cc
call fcn.00441f50
or dword [ebp - 0x24], 0xffffffff
or dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov ebx, edx
mov dword [ebp - 0x20], 1
xor edx, edx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x30], edx
mov esi, edx
mov dword [ebp - 4], esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18], edi
test eax, eax
je 0x41b4c6
mov ecx, dword [ebp + 0x10]
mov dword [eax], edx
test ecx, ecx
je 0x457f3c
mov dword [ecx], edx
mov dword [ebp - 0xd8], 0x4b0bb0
mov dword [ebp - 0xd4], 0x4b0cb0
mov dword [ebp - 0xd0], 0x4b0db0
mov dword [ebp - 0xcc], 0x4b0ef0
test ebx, 0xd8008580
jne 0x457f48
mov eax, ebx
mov dword [ebp - 0x74], edx
push 0x28
pop ebx
and eax, 0x10000
cmp word [edi], bx
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x2c], eax
je 0x457f4f
test ebx, 0x800
je 0x45823f
mov dword [ebp - 4], 1
test eax, eax
jne 0x45821c
test ebx, 0x2000
je 0x458223
mov ecx, 0x1800000
mov eax, ebx
and eax, ecx
cmp eax, ecx
je 0x45826e
mov eax, ebx
push 2
pop ecx
and eax, 0x700000
jne 0x458247
mov dword [ebp - 0x54], ecx
xor edx, edx
lea eax, [ebp - 0x11c8]
mov dword [ebp - 0x8c], edx
mov ecx, edx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x1c8]
mov dword [ebp - 0xb0], eax
mov eax, edi
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x9c], 0x800
mov dword [ebp - 0xa0], 0x14
mov dword [ebp - 0xc0], edi
cmp word [edi], dx
je 0x41b122
invalid
dec dword [ecx - 0xb77b]
dec dword [ecx - 0xc77b]
dec dword [ebp - 0x1c77b]
dec dword [ecx - 0xaf7b]
dec dword [ebx + 0x789589c7]
invalid
lea eax, [eax + 2]
inc ecx
cmp word [eax], dx
jne 0x41b119
lea eax, [edi + ecx*2]
mov dword [ebp - 0x70], edx
mov dword [ebp - 0xbc], eax
mov ecx, ebx
lea eax, [edi + esi*2]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x11c8]
mov dword [ebp - 0x1c], eax
mov eax, 0x83
mov word [ebp - 0x11c8], ax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 0x7c], edx
push eax
push edx
lea eax, [ebp - 0x34]
mov dword [ebp - 0x90], edx
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0xb4], edx
push eax
lea eax, [ebp - 8]
mov dword [ebp - 0x78], ebx
push eax
lea eax, [ebp - 0x3c]
push eax
push edx
push edx
push edx
push edx
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x18]
push eax
lea edx, [ebp - 0x1c]
call fcn.0041b4ca
mov esi, dword [ebp - 0x30]
add esp, 0x34
test esi, esi
jne 0x458271
cmp dword [ebp - 0x20], 0x10000
jg 0x4582d2
mov eax, dword [ebp - 0xa4]
imul eax, dword [ebp - 0xa8]
add eax, dword [ebp - 0x20]
lea esi, [eax*2 + 0x38]
push esi
call fcn.004091b2
mov ebx, eax
pop ecx
test ebx, ebx
je 0x4582d6
mov dword [ebx + 4], esi
xor esi, esi
mov dword [ebx], 0x50435245
mov eax, dword [ebp - 0x78]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x74]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x24]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x14], eax
xor eax, eax
mov dword [ebx + 0x18], eax
push 0x1c
pop eax
mov word [ebx + 0x22], ax
mov ax, word [ebp - 0xa4]
mov word [ebx + 0x24], ax
mov ax, word [ebp - 0xa8]
mov word [ebx + 0x26], ax
xor eax, eax
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], esi
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x90], esi
movzx eax, word [ebx + 0x22]
lea edx, [ebx + eax*2]
mov dword [ebp - 0xac], edx
movzx eax, word [ebx + 0x26]
movzx ecx, word [ebx + 0x24]
imul ecx, eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
lea edi, [edx + ecx*2]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xb4], esi
test eax, eax
jg 0x4582da
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov eax, 0x83
push esi
mov word [edi], ax
lea eax, [ebp - 0xd8]
push eax
push esi
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x1c], edi
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x3c]
push eax
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0041b4ca
mov ax, word [ebp - 0x98]
add esp, 0x34
mov word [ebx + 0x1e], ax
mov ax, word [ebp - 0x8c]
mov word [ebx + 0x20], ax
mov ax, word [ebp - 0x90]
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x74]
or eax, 2
mov dword [ebx + 0xc], eax
cmp dword [ebp - 0x6c], 0
jne 0x45832b
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x30]
xor edx, edx
test esi, esi
jne 0x41b333
mov eax, dword [ebp - 0x18]
cmp word [eax], dx
jne 0x45833b
add eax, dword [eax]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x1c], eax
sub eax, edi
sar eax, 1
cmp eax, dword [ebp - 0x20]
jg 0x458343
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc8]
cmp eax, ecx
ja 0x45834b
cmp dword [ebp - 0x9c], 0x800
jg 0x4583dc
xor eax, eax
mov dword [ebp - 0xc8], eax
test esi, esi
jne 0x4583ef
test dword [eax], edi
invalid
mov ax, word [ebx + 0x20]
cmp ax, word [ebx + 0x1e]
and byte [esi + 0x3b], ah
inc ebx
push ds
ja 0x4583e8
test dword [ebp - 0xc], 0x20000
mov esi, dword [ebp - 4]
jne 0x41b3ad
lea eax, [ebp - 0xd8]
mov edx, esi
push eax
mov ecx, edi
call fcn.0041c960
pop ecx
cmp dword [ebp - 0x64], 0
jne 0x4583fb
mov ecx, dword [ebx + 8]
mov eax, ecx
test cl, 0x10
jne 0x41b423
xor eax, eax
xor edx, edx
push eax
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.0041c831
pop ecx
pop ecx
test eax, eax
jne 0x4584a8
mov eax, dword [ebp - 8]
test eax, eax
jns 0x41b462
xor eax, eax
lea edx, [ebp - 8]
push eax
mov ecx, edi
call fcn.0041aecc
mov edx, eax
mov eax, dword [ebp - 8]
pop ecx
test eax, eax
jns 0x41b465
mov esi, dword [ebx + 8]
xor eax, eax
push eax
push eax
lea eax, [ebp - 0xd8]
mov dword [ebp + 0xc], esi
push eax
xor edx, edx
mov ecx, edi
call fcn.0041ade1
add esp, 0xc
test eax, eax
jne 0x4584b6
mov eax, esi
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jns 0x41b47a
mov esi, dword [ebp - 0x1c]
xor eax, eax
mov edx, esi
push eax
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
push dword [ebp - 4]
call fcn.0041c633
add esp, 0xc
test eax, eax
jne 0x458590
invalid
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
cmp word [edi], 0x77
je 0x41b42d
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret
mov edx, dword [ebp - 0x3c]
mov word [ebx + 0x18], dx
test al, 1
jne 0x4584c4
or dword [ebx + 0xc], 0x10
mov eax, dword [ebx + 8]
jmp 0x41b423
test al, 0x10
jne 0x458528
mov edx, dword [ebp - 0x2c]
mov word [ebx + 0x1a], dx
aam 0x66
mov dword [ebx + 0x1a], edx
test cl, 1
je 0x41b4b8
cmp dword [ebp - 4], 0
je 0x45855f
mov esi, 0x80
movzx ecx, dx
cmp dx, si
jae 0x458536
mov eax, dword [ebp - 0xd4]
movzx eax, byte [ecx + eax]
cmp ax, dx
jne 0x41b4c1
or dword [ebx + 0xc], 0x40
jmp 0x41b42a
or dword [ebx + 0xc], esi
jmp 0x41b4b8
xor eax, eax
jmp 0x41b45d
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
push ebx
mov ebx, dword [edx]
push esi
push edi
mov edi, dword [ebp + 8]
jge 0x41b4e3
xor esi, esi
mov dword [esp + 0x54], edx
mov dword [esp + 0x1c], ecx
and al, 0x1c
mov dword [esp + 0x40], ebx
mov eax, dword [edi]
mov dword [esp + 0x28], eax
mov eax, dword [0x4d261c]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
test eax, eax
jne 0x45859c
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x70], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x38], esi
mov esi, dword [ebp + 0x34]
lea ecx, [edx + 4]
push 0xfffffffffffffffe
pop eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x20]
sub eax, dword [esi + 0x10]
sar eax, 1
mov dword [esp + 0x64], eax
mov eax, 0x85
mov dword [esp + 0x74], ebx
mov dword [esp + 0x10], ecx
cmp word [ebx], ax
je 0x41b6e1
xor eax, eax
mov dword [esp + 0x18], ebx
mov word [ebx + 2], ax
lea eax, [edx*2 + 4]
mov edi, dword [esi + 0x40]
mov dword [esp + 0x5c], eax
add eax, ebx
mov ebx, dword [ebp + 0x38]
mov edx, ebx
neg edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x58], edi
lea edi, [esp + 0x10]
sbb edx, edx
and edx, edi
mov dword [esp + 0x60], edx
cmp dword [ebp + 0x14], 0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x34], eax
jne 0x4585b4
cmp dword [ebp + 0x10], 0
jne 0x4585c3
push edx
push esi
push dword [ebp + 0x1c]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x64]
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x4c]
push eax
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x44]
call fcn.0041b731
add esp, 0x28
test eax, eax
je 0x458726
cmp dword [esi + 0x40], edi
ja 0x41b708
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
test ebx, ebx
jne 0x41b627
mov eax, dword [esp + 0x18]
push 0x77
pop ecx
cmp word [eax], cx
je 0x4585ec
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
cmp dword [ebp + 0x10], 0
jne 0x458678
mov ebx, dword [esp + 0x28]
push 0x7c
pop eax
cmp word [ebx], ax
je 0x4586b9
add ecx, dword [edi]
test byte [edx - 0x7cfffc30], al
jge 0x41b672
cmp dword [ebp + 0x38], 0
jne 0x41b65f
add byte [ebp + 0x22], dh
mov esi, dword [esp + 0x18]
mov edx, edi
sub edx, esi
sar edx, 1
movzx ecx, word [esi + 2]
mov word [esi + 2], dx
mov edx, ecx
mov eax, edx
neg eax
lea esi, [esi + eax*2]
test ecx, ecx
jne 0x41b647
mov esi, dword [ebp + 0x34]
mov ecx, dword [esp + 0x40]
push 0x78
pop eax
mov word [edi], ax
mov eax, edi
sub eax, ecx
sar eax, 1
mov word [edi + 2], ax
add edi, 4
cmp dword [esp + 0x50], 0
ja 0x41b714
add al, byte [ebx + 0x7c8304c7]
and al, 0x50
add byte [edi], cl
xchg dword [ebx - 0x75000000], edx
dec esp
and al, 0x10
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [ebp + 8]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0x54]
mov dword [edx], ebx
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
mov dword [eax], edi
mov eax, dword [ebp + 0x20]
mov dword [eax], edx
mov eax, dword [ebp + 0x24]
mov edx, dword [esp + 0x3c]
mov dword [eax], edx
mov eax, dword [ebp + 0x28]
mov edx, dword [esp + 0x24]
mov dword [eax], edx
mov eax, dword [ebp + 0x2c]
mov dword [eax], ebx
mov ebx, dword [ebp + 0x38]
test ebx, ebx
je 0x41b6d7
mov edx, dword [ebx]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x4587a6
add ecx, edx
mov dword [ebx], ecx
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [ebx + 4]
mov dword [esp + 0x50], eax
mov word [esp + 0x6c], ax
insb byte es:[edi], dx
mov eax, dword [esi + 0x24]
mov dword [esp + 0x68], eax
xor eax, eax
mov word [esp + 0x6e], ax
lea eax, [esp + 0x68]
mov dword [esi + 0x24], eax
jmp 0x41b549
mov eax, dword [esi + 0x40]
mov dword [esp + 0x20], eax
jmp 0x41b5e1
mov eax, dword [esi + 0x24]
xor edx, edx
cmp word [eax + 6], dx
jne 0x458736
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x24], eax
jmp 0x41b685
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 0x41b9de
mov eax, ebx
sub eax, 0x5b
je 0x41bde0
sub eax, 1
je 0x41c3e6
sub eax, 1
je 0x45a25e
sub eax, 1
je 0x45a233
sub eax, 0x1d
je 0x4595e3
sub eax, 1
je 0x41bbca
cmp dword [ebp - 0x5c], 0
mov ecx, dword [ebp - 0xc]
mov edi, ecx
mov word [ebp - 0x10c], bx
je 0x41b8cd
mov eax, 0xfc00
add ah, bh
add byte [eax], al
and ebx, eax
mov eax, 0xd800
cmp ebx, eax
je 0x45a284
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 0x41b93f
movsb byte es:[edi], byte [esi]
add byte [ecx + 0x458bc045], cl
aam 0x74
push ebp
inc ebp
ror byte [ebx + 0x5574d445], 0x84
sal dword [ecx + edx*2 + 0xf], 0xb7
invalid
test cl, al
je 0x41b93f
movzx ecx, word [ebp - 0x10c]
mov edx, 0xfc00
mov eax, ecx
and eax, edx
mov edx, 0xd800
cmp eax, edx
je 0x45b521
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 0x41bdb6
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 0x41b96c
mov ax, word [ebp + ecx*2 - 0x10c]
mov word [edx], ax
add edx, esi
inc ecx
cmp ecx, edi
jb 0x41b957
mov dword [ebp - 8], edx
mov ax, word [ebp - 0x10c]
push 0xd
pop ecx
cmp ax, cx
je 0x45b54d
push 0xa
pop ecx
cmp ax, cx
je 0x45b54d
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
je 0x41c4f4
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 0x45b582
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]
push ds
mov dword [ebp - 0x10], ebx
test ebx, ebx
invalid
je 0x41bc31
cmp dword [ebp + 0x2c], 0
sub al, 0
mov edi, dword [ebp + 0x28]
jge 0x41ba1b
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x10]
lea ecx, [eax + ecx*2]
je 0x41bbbc
add dword [eax], eax
add byte [ebp - 0xc77f], cl
invalid
lea eax, [ecx - 0xc8]
cmp edx, eax
ja 0x45b6e4
mov eax, dword [ebp - 0xc0]
cmp edx, eax
jb 0x4587c9
int 3
add byte [ebx - 0x7437d436], cl
inc ebp
sub al, 0xd1
stc
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 0x45b80b
ror dword [edi], 0x8c
sar ebp, cl
add eax, dword [eax]
lea eax, [edx + ecx]
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp - 0x28]
mov dword [ecx], eax
test edx, edx
je 0x41bc23
mov ecx, dword [ebp - 0xb0]
cmp edx, ecx
jbe 0x41ba85
mov esi, dword [ebp - 8]
mov eax, esi
sub eax, edx
and eax, 0xfffffffe
push eax
push edx
push ecx
call fcn.00422720
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 0x41baaf
push 0x5c
pop ecx
cmp ebx, ecx
je 0x41c07b
cmp dword [ebp - 0x64], 0
jne 0x4587e8
cmp ebx, ecx
je 0x41c090
mov edi, dword [ebp - 0x2c]
and edi, 8
mov dword [ebp - 0x30], edi
jne 0x458855
push 0x28
pop eax
cmp ebx, eax
je 0x41bc3e
push 0x2a
pop eax
cmp ebx, eax
je 0x41c0a2
add eax, 0x2b6a0000
push 0x2b
pop eax
cmp ebx, eax
je 0x41c0a2
push 0x3f
pop eax
cmp ebx, eax
je 0x41c0a2
push 0x7b
pop eax
cmp ebx, eax
je 0x45899d
mov edx, dword [ebp - 0x88]
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x50]
test edx, edx
jne 0x4589b5
add eax, dword [eax]
test dword [ebp - 0x2c], 0x4000
jne 0x4589f6
mov edx, dword [ebp - 8]
push 0x3f
pop eax
cmp ebx, eax
ja 0x41b86f
je 0x4595d7
mov eax, ebx
xor ecx, ecx
sub eax, ecx
je 0x41bbca
sub eax, 0x24
je 0x4595c2
sub eax, 4
je 0x41bc5d
sub eax, 1
je 0x41bbca
sub eax, 1
je 0x41c0ad
sub eax, 1
je 0x458a44
sub eax, 3
jne 0x41b8a7
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
jne 0x41bb77
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 0x41b9cd
cmp dword [edi + 0x20], ecx
jbe 0x41ba8e
jmp 0x45b8b5
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 0x41bc1b
sub edx, dword [ebp - 0xc0]
mov ebx, 0x7fffffeb
mov ecx, dword [eax]
sub ebx, ecx
sar edx, 1
cmp ebx, edx
jl 0x45b80b
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 0x41ba88
test eax, eax
je 0x41b9ec
jmp 0x4587b4
push 0x3f
pop eax
cmp word [esi + 2], ax
jne 0x41baf5
push 0x23
pop eax
cmp word [esi + 4], ax
jne 0x41baf5
jmp 0x458958
add esi, 2
push 0x2a
mov dword [ebp - 4], esi
pop eax
movzx edx, word [esi]
cmp dx, ax
je 0x458a4c
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 0x41c23d
add esi, 2
mov dword [ebp - 4], esi
push 0x3a
pop edx
movzx ebx, word [esi]
mov eax, ebx
cmp eax, edx
jbe 0x458ccd
mov edx, esi
mov edi, ebx
mov dword [ebp - 0x1c], edx
sub eax, 0x3c
je 0x4593a9
sub eax, 1
je 0x45926b
sub eax, 1
je 0x45939f
sub eax, 5
je 0x4592f5
push 0xd
pop ebx
sub eax, ebx
je 0x4592ac
push 2
pop ebx
sub eax, ebx
je 0x45928f
push 0x2a
pop ebx
sub eax, ebx
je 0x45925b
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 0x45a527
mov ebx, edx
movzx eax, di
cmp di, word [ebp - 0x120]
je 0x41bd63
lea esi, [edx + 2]
movzx edi, di
push 0x69
pop edx
mov dword [ebp - 4], esi
cmp ax, dx
ja 0x45a4f7
jne 0x45a4ac
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 0x41bd1f
mov esi, 0x4d8bde8b
ror byte [ebx + 0x4d0bf045], 1
aam 0xf7
shl byte [ebx], 1
enter 0x296a, 0x58
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 0x459202
aam 3
add byte [ebx - 0x3e740bab], cl
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 0x41b9d0
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 0x45b540
mov esi, dword [ebp - 4]
jmp 0x41b9d3
push 6
lea ecx, [esi + 2]
mov edx, 0x49cc78
call fcn.0041c609
sbb cl, byte [eax]
add byte [eax], al
pop ecx
test eax, eax
je 0x45aba8
mov ecx, dword [ebp - 4]
mov edx, 0x49cc70
push 6
lea ecx, [ecx + 2]
call fcn.0041c609
pop ecx
test eax, eax
je 0x45abaf
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 0x45abc8
push 0x2e
pop edx
cmp ax, dx
je 0x45abc8
push 0x3d
pop edx
cmp ax, dx
je 0x45abc8
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 0x45abe0
add byte [ebp - 0x7cf68a40], al
call [esi + 0xf]
test byte [ebp + 0x6a0003ed], bl
pop ebp
test eax, eax
jne 0x41be7d
cmp edi, 0x5e
je 0x45ac1a
push 0x5d
pop ecx
cmp edi, ecx
je 0x45ac22
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.00422340
mov esi, dword [ebp - 4]
add esp, 0xc
test edi, edi
je 0x45b428
mov edx, ebx
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x80], ebx
mov ebx, edx
mov dword [ebp - 0x30], edx
je 0x41bee5
mov eax, edi
mov ecx, 0xfc00
and eax, ecx
cmp eax, 0xd800
je 0x45ac6a
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x20], ecx
ja 0x45aca6
cmp dword [ebp + 0x2c], 0
je 0x41bf02
mov eax, dword [ebp - 0x20]
cmp eax, ecx
ja 0x45acb1
inc ebp
loopne 0x41bf36
ror dword [edi], 0x87
scasd eax, dword es:[edi]
in eax, dx
add eax, dword [eax]
cmp dword [ebp - 0x64], 0
jne 0x45acc5
cmp edi, 0x5b
je 0x45aced
push 0x5c
pop ecx
cmp edi, ecx
je 0x45af61
xor edx, edx
mov ecx, dword [ebp + 0x28]
mov ebx, dword [ebp - 0x2c]
push 0x5c
pop eax
cmp word [esi + 2], ax
je 0x45b231
push 0xd
pop eax
mov edx, esi
cmp edi, eax
or eax, 0x3bd68b58
clc
je 0x45b25a
push 0xa
pop eax
cmp edi, eax
je 0x45b25a
test byte [0x8b0003f3], cl
dec ebp
pushfd
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne 0x41bf61
push 0x2d
pop eax
cmp word [esi + 2], ax
je 0x45b266
add byte [ebx - 0x27747fbb], cl
mov eax, dword [ebp - 0x80]
mov ebx, eax
push 2
pop edx
mov dword [ebp - 0x1c], eax
cmp eax, edx
jl 0x41c070
test ecx, ecx
jne 0x41bf88
cmp dword [ebp - 0x3c], ecx
jne 0x41bf88
mov ecx, dword [ebp - 0xc]
cmp ebx, ecx
je 0x41c4e2
push edi
push edi
push dword [ebp + 0x28]
push dword [ebp - 0x2c]
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0xe0]
call fcn.0041c574
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
mov dword ds:[ebp - 0x14], edi
test edi, edi
je 0x45b409
push 0x5d
pop eax
cmp edi, eax
jne 0x41bec3
cmp dword [ebp - 0x64], 0
jne 0x41bec3
invalid
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x20], ecx
ja 0x41bfe8
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x34]
cmp edi, 0xfffffffe
jne 0x41bff6
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 0x45b58f
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
je 0x41c029
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 0x41c069
test esi, esi
jne 0x45b6ce
push 0x20
pop eax
push eax
lea eax, [ebp - 0xe0]
push eax
push edx
call fcn.00420e20
mov edx, dword [ebp - 8]
clc
add esp, 0xc
push 0x20
jmp 0x41bbb1
lea ebx, [eax + 1]
mov dword [ebp - 0x1c], ebx
jmp 0x41bf74
push 0x45
pop ecx
cmp word [esi + 2], cx
push 0x5c
pop ecx
jne 0x41ba9d
jmp 0x4587d3
push 0x51
pop ecx
cmp word [esi + 2], cx
jne 0x41baaf
jmp 0x4587da
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x50]
jmp 0x41bb0a
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 0x45b7d4
mov ah, 0x89
inc ebp
mov esp, 0x85d8558b
ror byte [edi], cl
test byte [eax], dl
test dword [ebx], 0x75c98500
sbb ecx, dword [ebx + 0x5d89845d]
test ecx, ecx
jne 0x41c0e3
mov ebx, dword [ebp - 0x7c]
mov dword [ebp - 0x6c], ebx
pop ebp
xchg esp, eax
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 0x45961a
push 0x23
pop eax
push 0x28
pop ecx
push 0x3f
pop edx
cmp word [esi + 2], cx
je 0x459716
lea ecx, [esi + 2]
movzx eax, word [ecx]
push 0x2b
pop edi
cmp ax, di
je 0x45976b
cmp ax, dx
cmp eax, edx
jne 0x459776
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 0x459781
test byte [0x8b0003d6], dh
xor eax, 0x8b0003d6
mov edi, dword [ebp - 8]
jge 0x41c147
movzx ecx, word [edx]
push 0x1d
pop eax
cmp cx, ax
je 0x459ea1
push 0x1e
push ds
pop eax
cmp cx, ax
cmp ecx, eax
je 0x459ea1
push 0x1f
pop eax
cmp cx, ax
je 0x459ea1
push 0x20
pop eax
cmp cx, ax
je 0x459ea1
add byte [ebx - 0x7cf0e807], al
jg 0x41c15f
cmp ecx, 0x17
jae 0x45980a
add eax, dword [eax]
push 0x34
mov edi, ecx
pop ebx
mov dword [ebp - 0x18], edi
mov eax, ecx
push 0x10
pop ecx
cmp ax, cx
je 0x459f50
push 0xf
pop ecx
cmp ax, cx
je 0x459f50
ror dword [edi], 0x84
mov dword [0x830003dd], eax
test byte [ebx - 0x7cfffc23], ah
or dword [ebp - 0x10], 0xffffffff
lea edi, [edx + 2]
or dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 8]
dec ebp
lock dec dword [ebp + 0x4d83027a]
in al, dx
dec dword [ebx + 0x4d8bbc45]
clc
mov dword [ebp - 8], edx
test eax, eax
je 0x41c22a
mov edx, dword [ebp - 0x24]
add edx, ebx
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x30], edx
jne 0x459f97
jge 0x41c181
add byte [ecx - 0x7af02fab], cl
rcr ch, 3
add byte [ebx - 0x48f043b3], cl
ret 0xf983
mov ecx, dword [ebp - 0x44]
movzx eax, dx
cmp ecx, 0xffffffff
jne 0x459f65
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 0x41c20a
test ebx, 0x10000000
jne 0x45a0c0
mov word [edi], bx
mov dword [edi], ebx
mov ebx, ecx
lea edx, [ebx + edi]
mov dword [ebp - 8], edx
test esi, esi
jns 0x459e8b
mov esi, dword [ebp - 4]
cmp dword [ebp - 0x1c], 0
in al, 0
jne 0x45a0de
mov ecx, dword [ebp + 0x28]
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x80]
or dword [ecx + 0x68], eax
jmp 0x41b9d0
inc ebp
fmul dword [ebx + 0x41098045]
push 0xfff793e9
push edi
inc ebp
aam 0
adc byte [eax], al
add byte [edi], cl
test dword [eax - 0x2d], ebp
add eax, dword [eax]
test dword [ebp - 0x2c], 0x1000
jne 0x4595b2
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]
cld
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
add byte [eax], al
jge 0x45b827
mov eax, 0x80
cmp edi, eax
mov eax, dword [ebp + 0x28]
jbe 0x45a53f
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
dec dword [ebp - 0x8b73]
dec dword [ecx - 0x3fe447ab]
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 0x45a55b
cmp ecx, 0x80
je 0x45a55b
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.0041b4ca
add esp, 0x34
test eax, eax
je 0x45b3ae
mov ecx, dword [ebp + 0x28]
mov eax, 0x81
mov ebx, dword [ebp - 0x24]
dec dword [ecx + 0x58]
cmp ebx, eax
je 0x45a563
mov eax, dword [ebp - 8]
mov edx, 0x80
cmp ebx, edx
jbe 0x45a57c
mov ecx, 0x87
cmp ebx, ecx
je 0x45a584
invalid
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 4]
push 0x29
pop edx
cmp word [esi], dx
jne 0x45b819
cmp dword [ebp + 0x2c], 0
jne 0x41c531
mov edx, dword [ebp - 0x48]
mov dword [ebp - 8], edx
cmp ebx, 0x91
je 0x41b9d3
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 0x45a638
cmp dword [ebp - 0x34], 0xfffffffe
je 0x45a5f1
test ecx, ecx
jns 0x45a619
test eax, eax
js 0x41b9d3
jmp 0x45a650
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.0041cb89
xor edx, edx
add esp, 0x10
mov edi, eax
cmp dword [ebx], edx
jne 0x45b3ae
test edi, edi
je 0x45a2b7
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
jne 0x41c434
lea eax, [edi - 6]
cmp eax, 0x10
ja 0x41c434
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 0x45a306
cmp edi, 0x1c
je 0x45a680
test edi, edi
js 0x45aa60
push 0xf
pop eax
cmp edi, eax
je 0x45ab26
push 0x10
pop eax
cmp edi, eax
je 0x45ab26
mov ecx, dword [ebp - 0xc]
cmp edi, 5
je 0x45aadd
push 4
pop eax
cmp edi, eax
je 0x45aadd
cmp edi, ecx
je 0x45aadd
mov ebx, esi
push 0x1d
pop eax
cmp edi, eax
jge 0x45aaf0
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 0x45ab13
mov edx, dword [ebp - 8]
push 2
pop esi
mov word [edx], di
add edx, esi
mov dword [ebp - 8], edx
jmp 0x41bdd8
push 0x5d
pop eax
cmp word [esi + 2], ax
jne 0x41bf88
cdq
cli
invalid
jmp 0x45b436
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 0x45b559
movzx eax, ax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x34], eax
cmp edi, ecx
jne 0x45b573
dec edx
lock add eax, dword [eax]
mov edx, dword [ebp - 8]
jmp 0x41bdd8
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 0x45b80b
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 0x41bbb4
inc dword [eax]
add byte [eax], al
push edi
mov edi, dword [ebp + 0x14]
adc al, 0x8b
fisttp word [ecx + 0x4d89f455]
clc
cmp edi, eax
ja 0x45b8ca
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 4], ecx
test al, 1
jne 0x45b8d1
and eax, 0x800
mov dword [ebp + 8], eax
je 0x45b9c9
mov dword [ebp - 0x18], esi
cmp esi, ebx
ja 0x41c5ec
mov edi, dword [ebp - 8]
mov eax, ebx
sub eax, esi
inc ecx
add ecx, eax
mov dword [ebp - 4], ecx
cld
mov edx, esi
mov eax, esi
shr edx, 3
and eax, 7
movzx ecx, byte [edx + edi]
bts ecx, eax
inc esi
mov byte [edx + edi], cl
cmp esi, ebx
jbe 0x41c5ca
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
cmp esi, 0xff
ja 0x41c5f9
mov esi, 0x100
cmp edi, esi
jae 0x45b9e0
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret
add byte [edi], cl
test dl, ah
xor ah, bh
dec dword [edi]
mov bh, 0x41
add al, byte [ebp + 0x337979f6]
imul bl
jno 0x457f15
cmp eax, dword [ebp - 0xc]
jbe 0x457ed3
mov dword [ebp - 4], 0x89
cmp ax, word [ebp - 4]
jbe 0x41af84
xchg byte [edi - 0x470003d0], bh
mov eax, dword [eax]
add byte [eax], al
mov eax, 0x8b
cmp dx, ax
ja 0x41af84
push 0x7d
xor eax, eax
pop edx
cmp word [ebp - 0x10], dx
lea edx, [ebp - 0x14]
sete al
push eax
call 0x41aedf
pop ecx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
js 0x41af84
add dh, dh
jns 0x457efe
mov edi, eax
mov esi, ecx
jmp 0x457f2b
cmp edi, eax
jne 0x41af84
cmp esi, ecx
jmp 0x457f25
mov bh, 0x41
add al, byte [ebp + 0x330779f6]
test byte [esi - 0x75], 0xf8
jmp 0x457f2b
jne 0x41af84
movzx eax, word [ebx + 2]
push 0x77
pop edx
lea ebx, [ebx + eax*2]
cmp word [ebx], dx
jne 0x457f41
mov eax, edx
jmp 0x41af07
mov eax, dword [ebp - 0x18]
mov dword [eax], esi
mov eax, edi
jmp 0x41af86
push 0x10
jmp 0x457f55
push 0x4a
pop esi
jmp 0x458291
cmp word [edi + esi*2 + 2], 0x2a
jne 0x553d8222
lea edi, [edi + esi*2]
mov edx, 0x4c800c
add edi, 4
push 6
mov ecx, edi
call fcn.0041c61c
pop ecx
test eax, eax
jne 0x457f9a
add esi, 8
jmp 0x457f8f
add esi, 6
or ebx, 0x800
jmp 0x553d8203
push 4
mov edx, 0x4c8014
mov ecx, edi
call fcn.0041c61c
pop ecx
test eax, eax
je 0x457f8c
push 4
mov edx, 0x4c801c
mov ecx, edi
call fcn.0041c61c
pop ecx
test eax, eax
jne 0x457fce
add esi, 6
or ebx, 0x20000000
jmp 0x553d8203
push 0x10
mov edx, 0x4c8030
mov ecx, edi
call fcn.0041c61c
pop ecx
test eax, eax
jne 0x457fef
add esi, 0x12
or ebx, 0x20000
jmp 0x553d8203
push 0xd
mov edx, 0x4c8044
mov ecx, edi
call fcn.0041c61c
pop ecx
test eax, eax
jne 0x458010
add esi, 0xf
or ebx, 0x4000000
jmp 0x458203
push 0xc
mov edx, 0x4c8054
mov ecx, edi
call fcn.0041c61c
pop ecx
test eax, eax
jne 0xaf83ab
mov dword [ebp - 8], eax
lea edi, [esi + 0xe]
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + edi*2]
push eax
call fcn.0042901e
pop ecx
test eax, eax
je 0x458072
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
cmp ebx, 0x19999998
ja 0x458069
imul ecx, ebx, 0xa
movzx ebx, word [esi + edi*2]
add ecx, 0xffffffd0
add ebx, ecx
inc edi
movzx eax, word [esi + edi*2]
push eax
call fcn.0042901e
pop ecx
test eax, eax
jne 0x458045
mov esi, dword [ebp - 4]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
lea eax, [edi + edi]
push 0x29
pop edx
cmp word [eax + ecx], dx
jne 0x998220
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x24]
jae 0x4580a3
or dword [ebp - 0x74], 0x6a2000
mov dword [ebp - 0x24], eax
jmp 0x4580a3
lea esi, [edi + 1]
jmp 0x553d8206
mov dword [ebp - 0xc], ebx
mov edi, dword [ebp - 0x10]
push 0x28
pop eax
mov dword [ebp - 4], esi
cld
cmp word [edi + esi*2], ax
je 0x457f62
jmp 0x458222
jge 0x45820e
jmp 0x458222
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov ecx, dword [ebp + 0x10]
jmp 0x41b05f
inc ebp
aam 0x33
ror byte [ebx + 0x30e9104d], cl
cld
jmp [edx + 0x4e]
add al, 0
mov dword [ebp - 0x30], eax
pop ecx
test eax, eax
je 0x41b086
jmp 0x457f53
aas
cmp eax, 0xbb400000
add byte [eax - 0x45], al
je 0x4582a2
cmp eax, 0x500000
je 0x41b0a7
push 0x38
pop esi
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0x10]
sub eax, dword [ebp - 0x10]
sar eax, 1
mov dword [ecx], eax
mov ecx, esi
call fcn.0049aa9b
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x41b4d9
mov dword [ebp - 0x54], 1
jmp 0x41b0aa
inc ebp
mov al, 1
in eax, dx
mov ebx, 0x55895800
push ebp
lodsb al, byte [esi]
mov word [ebp - 0x4c], ax
jmp 0x41b0ac
cld
invalid
das
cld
dec dword [ebx - 0x2bba763a]
or eax, 0xffffffff
mov dword [ebp - 0x24], eax
jmp 0x41b331
das
cld
jmp [edx + 0x16]
nop
push 0x35
pop esi
jmp 0x41b375
mov esi, eax
jmp 0x41b375
push ecx
call fcn.004091ce
pop ecx
jmp 0x41b385
push 0xf
jmp 0x458401
pop esi
push ebx
call fcn.004091ce
pop ecx
jmp 0x458284
xchg ebp, eax
ror byte [eax - 0x7d], 0xe0
sub eax, 0x8919c083
inc ebp
enter 0xfffffffffffff08b, 0xffffffffffffffe9
inc edi
invalid
jmp 0x458402
jmp 0x41b436
add dword [esi + 0x3b], esp
ret 0x840f
jmp 0x41b484
add al, 0x45
inc eax
sbb al, 0x4b
add byte [ebx - 0xc0b3ac4], al
dec edx
in eax, dx
mov ebx, 0xfc2f57e9
invalid
je 0x41b4cb
mov eax, 0xbbed80
or dword [ebx + 0xc], eax
jmp 0x41b4cb
inc ebx
or al, 0xe9
sub byte [edi], ch
cld
inc dword [ecx - 0x7ffff3b5]
push esp
add cl, ch
mov edi, 0xfffffc2e
rol byte [ebp + 0x5e840fc0], 1
das
test byte [esi + 0x2f], bl
cld
dec dword [ebx + 0xc70c45]
push ebp
add byte [eax], al
add cl, ch
jnp 0x4585c6
add byte [eax], al
mov ebx, dword [esp + 0x58]
mov dword [esi + 0x40], ebx
add byte [ebx - 0x76a7dba4], cl
pop esi
inc eax
mov ebx, dword [ebp + 0x38]
jmp 0x41b5a3
inc edi
add cl, byte [ecx - 0x74efdbb4]
jl 0x458619
and byte [ecx - 0x16cbdbbc], cl
scasb al, byte es:[edi]
das
cld
dec dword [ebx - 0x74c3dbb4]
inc esp
and al, 0x44
mov edx, dword [esp + 0x48]
test ecx, ecx
js 0x458638
cmp ecx, eax
jne 0x458619
cmp dword [esp + 0x38], edx
je 0x458634
mov ebx, dword [esp + 0x14]
test ebx, ebx
jns 0x45862d
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ecx
or ecx, 0xffffffff
mov dword [esp + 0x3c], ecx
test ecx, ecx
jns 0x458650
test eax, eax
js 0x458650
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jns 0x458654
mov ecx, eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ecx
jmp 0x458658
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x14]
mov eax, ecx
xor eax, ebx
test eax, 0xfffffffd
jne 0x458679
cmp dword [esp + 0x24], edx
jne 0x458679
or ebx, ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], ebx
jmp 0x45867e
add eax, 0x14244c83
dec dword [ebx - 0x74e3dbac]
inc esp
and al, 0x18
or dword [esp + 0x14], 0xffffffff
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x41b630
dec esi
dec eax
jle 0x4586c0
mov dword [esi + 0x48], ecx
mov eax, dword [esp + 0x4c]
mov word [eax], cx
jmp 0x41b63a
rol byte [ebx - 0x6af00307], 0xc0
dec eax
and eax, 0x2d
add eax, 0x19
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x28]
or al, 0x89
add dword [ebx + 0x448b0855], ecx
and al, 0x28
mov dword [edx], eax
xor eax, eax
jmp 0x41b6ed
add al, 0x66
mov dword [edi + 6], eax
add edi, 8
mov eax, dword [esi + 0x24]
add ecx, 4
jmp 0x41b73a
xor eax, eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x50], eax
movzx ebx, word [esi]
push ds
mov dword [ebp - 0x10], ebx
jmp 0x41b9ff
cld
dec dword [ebx - 0x7aa7630]
jmp 0x41ba31
mov dword [ebp - 0x64], ebx
jmp 0x4587f3
add esi, 2
jmp 0x41b9e6
add al, 0x66
mov dword [eax], esi
mov word [eax + 2], cx
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edx
jmp 0x41b8ba
mov ebx, eax
mov eax, dword [ebp + 0x28]
mov edx, dword [eax + 0x6a0384]
mov ecx, dword [eax + 0x1c]
test edx, edx
je 0x458906
cmp edi, ecx
jae 0x458933
push dword [ebp - 0x78]
lea edi, [eax - 0x4412ff78]
push edi
push ecx
mov ecx, esi
call fcn.00406cf1
mov esi, dword [ebp - 4]
adc dword [ebx], 0xc
test dword [ebx], esi
je 0x458933
mov edx, dword [edi]
lea esi, [esi + edx*2]
mov dword [ebp - 4], esi
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
cmp esi, dword [ebp - 0x3c]
ja 0x41b9ee
jmp 0x41bad1
mov edx, dword [eax - 0x4412ff78]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x458933
mov ecx, dword [ebp + 0x28]
cmp bx, word [ecx + 0x8c]
jne 0x458933
cmp edx, dword [ebp - 0xc]
je 0x4588e9
mov ax, word [esi + 2]
cmp ax, word [ecx - 0x4412ff72]
je 0x4588e9
add esi, 2
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 4], esi
mov edi, esi
je 0x45895e
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x45895e
add esi, 2
mov dword [ebp - 4], esi
mov edi, esi
add cl, byte [ecx - 0x174038b]
movzx eax, word [esi]
add byte [ebx], dh
je 0x4588ef
jmp 0x4588b5
test dword [ecx + 0x30], eax
cld
dec dword [ebx + 0xc70c45]
adc al, byte [eax]
add byte [eax], al
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x12
jmp 0x45b8d1
add al, 0
mov esi, dword [ebp - 4]
test eax, eax
jne 0x41c0b5
jmp 0x41bb08
mov dword [edx + 6], esi
mov esi, dword [ebp - 4]
xor eax, eax
mov dword [ebp - 0x88], eax
jmp 0x41c0b8
push eax
add cl, byte [ebp - 0x7699fbb0]
xor byte [ebx + 0x5589fc75], cl
clc
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edx
jmp 0x41bb2d
push 9
pop eax
cmp dword [ebp - 0x10], eax
jl 0x41b9e3
push 0x3c
jmp 0xafb8a2
push ebp
clc
mov eax, 0xbbed91
mov ebx, dword [ebp - 0xc]
mov word [edx + 4], ax
mov esi, dword [ebp - 4]
jmp 0x45922d
mov ecx, dword [ebp + 0x28]
jmp 0x41c271
ja 0x41bd19
push 0x29
pop eax
mov dword [ebp - 0x14], eax
mov edx, esi
jmp 0x100a3b8
adc dword [ebx - 0xbba7500], edi
mov dword [ebp - 0x30], eax
mov dword [ecx + 0x7c], eax
mov edi, 0x83
jmp 0x459284
add esi, 2
jmp 0x459297
dec ebp
sub bh, bh
inc ecx
pop esp
add esi, 4
mov dword [ebp - 0x24], edi
mov dword [ebp - 4], esi
jmp 0x45a547
clc
mov dword [ebp - 4], esi
jne 0x4592aa
pop eax
cmp word [esi], ax
jne 0x45b86d
mov ebx, ecx
jmp 0x45a8b0
mov esi, edx
xor edx, edx
pop ecx
cmp ax, cx
sete dl
mov dword [ebp - 0x10], edx
jmp 0x45a6e7
mov word [edx], ax
xor eax, eax
mov word [edx + 2], ax
push 4
pop eax
add al, 0x58
add edx, eax
jmp 0x41c4ed
pop eax
add esi, eax
mov dword [ebp - 4], esi
jmp 0x41c25d
cld
invalid
aam 2
push 0
pop eax
setne al
mov dword [ebp - 0x28], ecx
add eax, 0x19
jmp 0x41bbbf
rcr byte [ecx], 0xe9
aad 0x25
cld
push dword [ebx]
ror byte [ebx - 0xbba7438], 0xe9
int 0x2a
cld
inc dword [ebp - 0x437bf037]
and bh, ah
dec dword [ebx + 0x458d0c5d]
mov esp, 0x4e8d5053
add cl, byte [ebp + 0x1fe8b455]
sbb eax, dword [eax + eax]
mov esi, eax
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 4], esi
cmp dword [ebx], eax
jne 0x45b8d1
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
jmp 0x41c0cc
invalid
push 0x29
pop eax
cmp cx, ax
je 0x45976d
lea esi, [edx + 2]
mov dword [ebp - 4], esi
mov edx, esi
movzx eax, word [esi]
mov ecx, eax
add byte [ebx], dh
jne 0x459753
cmp word [esi], bx
je 0x4589a2
push 0x3f
pop edx
jmp 0x41c127
mov dword [ebp - 0x1c], eax
jmp 0x41c148
mov edx, dword [ebp - 0x28]
jmp 0x41c162
add al, byte [ebx]
ror dword [ebx - 0x8bf43bb], 1
fcomp dword [ebx]
shl byte [ebx], 0x45
mov esp, 0xebbc4589
or dword [ebx - 0x76990fbb], ecx
xor al, byte [ebx - 0x7699fd3e]
add al, byte [ebx]
ror dword [ecx + 0x7ce9f855], 1
and edi, esp
jmp [edx + 0x1e]
mov word [edx], si
add edx, 2
mov word [edx], ax
add edx, ecx
mov dword [ebp - 8], edx
jmp 0x41c230
fadd dword [ebx + 0x7400a47d]
dec ebp
lea edx, [edi - 2]
mov ax, word [edx]
and ax, word [ebp - 0x110]
cmp ax, word [ebp - 0x114]
jne 0x459f29
push dword [ebp + 0x34]
push 2
pop eax
sub edx, eax
sub edi, edx
sar edi, 1
lea eax, [edi + edi]
push eax
push edx
lea eax, [ebp - 0x16c]
push eax
call fcn.00420e33
mov edx, dword [ebp - 0x28]
jae 0x459ed8
or al, 0x8b
jne 0x459f14
or edi, 0x10000000
mov dword [ebp - 0x18], edi
movzx eax, word [edx]
jmp 0x41c1a8
mov edx, dword [ebp - 0x28]
mov eax, ecx
movzx edi, word [edi - 2]
mov dword [ebp - 0x18], edi
cmp cx, word [ebp - 0x118]
ja 0x41c1a8
cmp dword [ebp - 0x4c], 1
jle 0x41c1a8
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x60], edi
jge 0x459ef2
mov eax, dword [eax + 0x68]
or eax, dword [ebp - 0x94]
mov dword [ebp - 0x54], eax
jmp 0x41c1a6
add cl, byte [edi]
mov bh, 7
mov dword [ebp - 0x14], eax
movzx eax, word [edx + 4]
mov dword [ebp - 0x10], eax
jmp 0x41c1cb
daa
mov word [ecx], ax
mov ax, word [ebp - 0x44]
pop ecx
mov word [edi], ax
add edi, ecx
jmp 0x41c20b
add dword [edi], ecx
test esi, ecx
invalid
push ebx
push eax
push edi
call fcn.00420e33
adc dword [ebx], 0xc
push 2
pop ecx
jmp 0x41c222
salc
mov eax, dword [ebp - 0x48]
mov dword [ebp - 8], edx
mov word [eax + 2], cx
mov esi, dword [ebp - 4]
jmp 0x41c23d
jmp [edx + 0x1c]
mov dword [eax], 0xbbed0040
jmp 0x45b8d1
cld
mov ax, word [esi]
pop esi
mov word [ebp - 0x10a], ax
mov edi, esi
jmp 0x41b8e3
mov ecx, edi
lea edx, [ebp - 0x10c]
call fcn.0049b9ba
mov edx, dword [ebp - 8]
mov edi, eax
mov ecx, dword [ebp - 0xc]
jmp 0x41b8e0
jmp 0x45a30f
mov word [ebp - 0x10c], di
mov edx, dword [ebp - 8]
mov edi, ecx
jmp 0x41b8e0
test dword [edi + edi*8 - 1], ecx
dec dword [edi]
xchg byte [edi], bh
invalid
dec eax
add byte fs:[eax + eax], al
add cl, ch
pop esi
sbb ah, bh
dec dword [ebp + 0x56e9f04d]
sbb ah, bh
jmp [edx + 0x6d]
or dword [eax], ecx
jmp 0x41bd60
jmp 0x41bd7c
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x18]
jmp 0x41c271
test byte [ebx + 0x4d89fffc], bh
fmul dword [ecx + 0x8088]
add cl, ch
sbb eax, 0x4d8bfffc
hlt
mov dword [eax + 0x80], ecx
jmp 0x41c2ac
sbb eax, 0x458bfffc
clc
mov edx, 0x82
mov word [eax], dx
jmp 0x41c359
add byte [eax], al
add byte [esi - 0x77], ah
adc cl, ch
retf 0xfc1d
or ecx, eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], ecx
jmp 0x41c379
pop esp
invalid
dec eax
invalid
xchg edx, eax
adc edi, esp
inc dword [ebp - 0x7577f040]
adc edi, esp
inc dword [ebp + 0x1d8be9c9]
cld
dec dword [ebx - 0xb773]
dec dword [ecx + 0x4589a04d]
lodsb al, byte [esi]
jmp 0x41b9e6
test eax, eax
je 0x45b869
mov ebx, dword [ebp + 0x28]
add edi, dword [ebx + 0x40]
jmp 0x553da8b0
add esi, 2
push 0x30
mov dword [ebp - 4], esi
mov ecx, esi
pop edx
movzx eax, word [esi]
mov dword [ebp - 0x30], ecx
cmp ax, dx
jb 0x45a709
push 0x39
pop edx
cmp ax, dx
jbe 0x45b875
mov edx, 0xff
mov ebx, esi
cmp ax, dx
ja 0x45a747
mov ecx, dword [ebp + 0x28]
mov edx, esi
mov edi, dword [ecx + 0xc]
mov ecx, eax
movzx eax, cx
mov ebx, edx
push 0x10
pop ecx
test byte [eax + edi], cl
je 0x45a744
lea esi, [edx + 2]
mov dword [ebp - 4], esi
mov edx, esi
movzx eax, word [esi]
mov ebx, esi
mov ecx, eax
cmp ax, word [ebp - 0x98]
jbe 0x45a71f
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp + 0x2c]
sub ebx, ecx
sar ebx, 1
test edx, edx
je 0x45a807
xor eax, eax
mov edi, eax
mov dword [ebp - 0x3c], edi
test ebx, ebx
je 0x100b888
mov eax, dword [ebp - 0x14]
cmp word [esi], ax
jne 0x100b884
push 0x20
pop eax
cmp ebx, eax
jg 0x100b880
mov ecx, dword [ebp + 0x28]
cmp dword [ebp - 0x10], edi
jne 0x45a787
inc dword [ecx + 0x54]
mov eax, dword [edx]
push 9
pop esi
add eax, esi
mov dword [edx], eax
cmp dword [ecx + 0x7c], edi
je 0x45a79a
add eax, 8
mov dword [edx], eax
mov esi, dword [ecx + 0x28]
xor eax, eax
mov ecx, dword [ecx + 0x30]
mov edx, eax
mov dword [ebp - 0x40], edx
test ecx, ecx
jle 0x45a802
cmp ebx, dword [esi + 4]
jne 0x45a7f1
mov edx, dword [esi]
mov ecx, dword [ebp - 0x30]
push ebx
call fcn.0049b98a
pop ecx
test eax, eax
jne 0x45a7ee
mov edi, dword [esi + 8]
mov dword [ebp - 0x3c], edi
cmp dword [ebp - 0x10], eax
jne 0x100a8ad
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax + 0x24]
jmp 0x45a7e1
movzx eax, word [ecx + 4]
cmp eax, edi
je 0x45a7e7
mov ecx, dword [ecx]
test ecx, ecx
jne 0x45a7d7
jmp 0x45a7ee
mov eax, dword [ebp - 0xc]
mov word [ecx + 6], ax
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp + 0x28]
inc edx
add esi, 0xc
mov dword [ebp - 0x40], edx
mov ecx, dword [ecx + 0x30]
cmp edx, ecx
jl 0x45a7ab
mov ebx, dword [ebp + 0x28]
jmp 0x45a86d
mov edi, dword [ebp + 0x28]
xor edx, edx
mov dword [ebp - 0x40], edx
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x58], eax
cmp dword [edi + 0x30], edx
jle 0x45a85a
push ebx
lea edx, [eax + 2]
call fcn.0049b98a
pop ecx
test eax, eax
jne 0x45a839
mov eax, dword [ebp - 0x58]
xor ecx, ecx
cmp word [eax + ebx*2 + 2], cx
jne 0x45a839
mov edx, dword [ebp - 0x40]
jmp 0x45a857
mov eax, dword [edi + 0x34]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x40]
inc edx
mov dword [ebp - 0x40], edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x58]
cmp edx, dword [edi + 0x30]
jl 0x45a81a
mov esi, dword [ebp - 4]
mov ebx, edi
mov ecx, dword [ebx + 0x30]
cmp edx, ecx
jge 0x45b88f
movzx edi, word [eax]
mov dword [ebp - 0x3c], edi
cmp dword [ebp - 0x10], 0
jne 0x45a8b0
cmp dword [ebp + 0x2c], 0
jne 0x45aa75
xor eax, eax
cmp dword [ebx + 0x78], eax
je 0xbc32aa75
mov eax, dword [ebx + 0x34]
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x80], edx
inc edx
mov dword [ebp - 0x40], edx
lea eax, [ebx + eax*2]
mov dword [ebp - 0x10], eax
cmp edx, ecx
jge 0xbc32aa75
mov edi, edx
jmp 0x45a9a9
mov ecx, dword [ebx + 0x20]
sub ecx, dword [ebx + 0x10]
mov eax, dword [ebp - 8]
mov esi, dword [ebx + 0x14]
sar ecx, 1
cmp dword [ebp + 0x2c], 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], ecx
jne 0x45a968
xor ecx, ecx
mov word [eax], cx
test edi, edi
je 0x45a8e9
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebx + 0x14]
push edi
call fcn.0049a3ad
mov esi, eax
mov eax, dword [ebp - 8]
pop ecx
test esi, esi
jne 0x45a93d
cmp edi, dword [ebx + 0x44]
jg 0xbc32b88c
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x3c]
lea esi, [eax + edi*2]
mov eax, dword [ebx + 0x10]
lea eax, [eax + ecx*2]
add eax, 0xffffff38
cmp dword [ebx + 0x20], eax
jb 0x45a923
mov ecx, ebx
call fcn.0049aa21
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
test eax, eax
jne 0x45b3c1
mov edx, dword [ebp - 8]
mov ecx, edx
sub ecx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x20]
push 2
pop edi
add ecx, edi
sar ecx, 1
mov word [eax], cx
add dword [ebx + 0x20], edi
jmp 0x45a96b
xor ecx, ecx
cmp word [esi + 2], cx
jne 0x45a968
cmp dword [ebp + 0x24], ecx
jg 0x45a968
push ebx
push dword [ebp - 0x78]
mov edx, eax
mov ecx, esi
push dword [ebp + 0x20]
call fcn.0049a9e3
adc dword [ebx], 0xc
test eax, eax
je 0x45a968
push 0x28
jmp 0x45b895
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x34]
push 0x75
pop eax
mov word [edx], ax
sub esi, dword [ebx + 0x14]
sar esi, 1
push 4
pop eax
mov word [edx + 2], si
add edx, eax
xor eax, eax
mov dword [ebp - 8], edx
mov dword [ebp - 0xa4], eax
cmp edi, 0xfffffffe
jne 0x45a998
or edi, 0xffffffff
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x68], edi
jmp 0x41bdeb
mov eax, dword [ebp - 0x10]
lea edx, [eax + 2]
lea ecx, [ebx + 2]
call fcn.0049b95f
mov ecx, dword [ebp - 0x10]
test eax, eax
jne 0x45a9ce
mov edx, dword [ebp + 0x28]
inc esi
inc edi
mov eax, dword [edx + 0x34]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x10], ecx
cmp edi, dword [edx + 0x30]
jl 0x45a9a6
mov edi, dword [ebp - 0x3c]
cmp esi, dword [ebp - 0xc]
jle 0x45aa75
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x45a9e4
or dword [ebp - 0x34], 0xffffffff
mov ebx, dword [ebp + 0x28]
mov edx, dword [ebp - 8]
push 0x73
pop edi
mov eax, dword [ebx + 0x20]
sub eax, dword [ebx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
and eax, 1
mov dword [ebp - 0x28], edx
add eax, edi
mov word [edx], ax
mov eax, dword [ebp - 0x80]
push 2
pop edi
add edx, edi
mov word [edx], ax
add edx, edi
mov word [edx], si
add edx, edi
mov edi, dword [ebp - 0x58]
mov dword [ebp - 8], edx
cmp edi, ecx
jae 0x41bdeb
mov esi, dword [ebp - 0x10]
movzx edx, word [edi]
push 0x20
pop eax
cmp edx, eax
mov eax, dword [ebp - 0xc]
jae 0x45aa3a
mov ecx, edx
shl eax, cl
or dword [ebx + 0x50], eax
cmp edx, dword [ebx + 0x4c]
jle 0x45aa45
mov dword [ebx + 0x4c], edx
mov ecx, dword [ebx + 0x24]
jmp 0x45aa54
movzx eax, word [ecx + 4]
cmp eax, edx
je 0x45aa5a
mov ecx, dword [ecx]
test ecx, ecx
jne 0x45aa4a
jmp 0x45aa61
mov eax, dword [ebp - 0xc]
mov word [ecx + 6], ax
push es
mov eax, dword [ebx + 0x34]
lea edi, [edi + eax*2]
cmp edi, esi
jb 0x45aa29
mov dword [ebp - 0x58], edi
jmp 0x41b9e0
cmp dword [ebp - 0x34], 0xfffffffe
jne 0x45aa83
or dword [ebp - 0x34], 0xffffffff
or dword [ebp - 0x68], 0xffffffff
mov ebx, dword [ebp + 0x28]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
push 0x71
mov eax, dword [ebx + 0x20]
sub eax, dword [ebx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
and eax, ecx
mov dword [ebp - 0x28], edx
pop esi
add eax, esi
mov word [edx], ax
push 2
pop eax
add edx, eax
push 0x20
mov word [edx], di
add edx, eax
pop eax
cmp edi, eax
mov dword [ebp - 8], edx
mov eax, ecx
jge 0x45aac1
mov ecx, edi
shl eax, cl
or dword [ebx + 0x50], eax
cmp edi, dword [ebx + 0x4c]
jle 0x45aacc
mov dword [ebx + 0x4c], edi
mov ecx, dword [ebx + 0x24]
jmp 0x45aadb
movzx eax, word [ecx + 4]
cmp eax, edi
je 0x45aae4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x45aad1
jmp 0x41bdeb
mov eax, dword [ebp - 0xc]
mov word [ecx + 6], ax
jmp 0x41bdeb
mov ebx, esi
cmp dword [ebx + 0x48], edx
jne 0x41c4b0
mov dword [ebx + 0x48], ecx
jmp 0x41c4b0
cmp dword [eax + eax - 0x7d], ecx
rol byte [edx], 0x6a
add bl, byte [edx - 0x77]
inc ebp
mov al, 0x2b
bnd jmp 0x41b9e3
cmp edi, 0xe
jne 0x41c4e2
push 0xd
pop eax
mov edi, eax
jmp 0x41c4e2
mov dword [edx], eax
add edx, esi
mov ax, word [ebp - 0xec]
mov word [edx], ax
jmp 0x41c4eb
adc al, 0xff
invalid
inc ebp
cld
mov edx, dword [ebp - 8]
add eax, 0xe
mov dword [ebp - 0x50], eax
mov dword [ebp - 4], esi
jmp 0x41b9f1
std
add eax, dword [eax]
add byte [ebx], dh
jne 0x100b705
mov ecx, dword [ebp - 4]
jmp 0x41be65
cld
dec dword [ebx + 0x5c6afc4d]
add ecx, 6
pop edx
rol dword [esi], 0x5a
mov eax, dword [ebp - 0x10]
jmp 0x41be6f
leave
dec dword [ecx + 0x458bcc4d]
xchg esp, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x68], ecx
jmp 0x41bdeb
mov dword [ebp - 4], esi
or edi, eax
add edi, 0x10000
mov dword [ebp - 0x14], edi
jmp 0x41bef8
jge 0x45acf3
sub eax, ecx
sar eax, 1
mov dword [ebp - 0x20], ecx
add dword [edi], eax
mov edi, dword [ebp - 0x14]
jmp 0x41bf15
adc bh, ah
push dword [ebx]
fild dword [ebx + 0x5d8902c6]
mov byte [edx], 0x89
pop ebp
pushfd
mov ebx, dword [ebp - 0x1c]
jmp 0x41bfc2
mov esi, dword [ebp - 0x74]
push 2
pop eax
mov ebx, eax
add esi, 2
mov dword [ebp - 0x1c], ebx
jmp 0x41bfbc
add byte [ebx - 0x4e16efed], al
sti
push dword [eax]
push 0x4c53f0
jmp 0x3145add6
cmp word [esi + 4], di
jne 0x45b25f
add esi, 4
mov dword [ebp - 0x64], edx
mov dword [ebp - 4], esi
cmp word [esi + 2], bx
cmp dword [esi + 2], ebx
je 0x45b24a
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x28]
mov ebx, dword [ebp - 0x2c]
jmp 0x41bf48
pop ebp
aam 0xe9
fisttp dword [esp + edi*8]
inc dword [ecx + 0x8006449]
add byte [eax], al
jmp 0x41bf60
into
call fcn.0049a94d
add byte [ebx], dh
je 0x45b3c9
mov ebx, dword [ebp + 0xc]
mov dword [ebx], 0x54f80053
mov esi, dword [ebp - 4]
jmp 0x45b8d1
mov ecx, dword [ebp - 0xa8]
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 0x14]
cmp ecx, edi
jb 0x45b8bd
je 0x45b414
push 2
pop eax
mov ebx, eax
push 0xd
pop eax
mov dword [ebp - 0x1c], ebx
cmp ecx, eax
je 0x45b3fa
push 0xa
pop eax
cmp ecx, eax
je 0x45b3fa
mov eax, dword [ebp + 0x28]
jmp 0x45b404
mov eax, dword [ebp + 0x28]
or dword [eax + 0x64], 0x800
push ecx
push edi
push eax
jmp 0x41bfa0
or edi, esp
dec dword [ebx - 0xd741383]
mov dword [ebp - 4], esi
mov ecx, dword [ebp - 0x64]
jmp 0x41bf74
jo 0x45b42c
mov dword [ebp - 4], esi
cld
movzx edi, word [esi]
mov dword [ebp - 0x14], edi
test edi, edi
jne 0x41bfdb
test dword [eax - 0x740003f5], esp
inc ebp
or al, 0xc7
add byte [esi], al
add byte [ebx + 0x488e900], bh
add byte [eax], al
mov eax, dword [ebp - 0x60]
add esi, edx
cmp dword [ebp - 0x10], 0
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 4], esi
mov dword [ebp - 0x70], eax
je 0x45b518
mov eax, dword [ebp + 0xc]
mov dword [eax], 0xbb0006
jmp 0x45b8d1
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
jne 0x45b475
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov ebx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x7c], eax
test ebx, ebx
je 0x45b4d9
mov eax, dword [ebp - 0xc]
test al, cl
je 0x45b4d9
mov eax, edi
mov esi, 0x80
cdq
idiv esi
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3f3]
test eax, eax
je 0x45b4d9
mov edx, dword [ebp - 8]
push 0xf
pop ecx
push 2
mov word [edx], cx
pop edi
add edx, edi
push 9
pop ecx
mov word [edx], cx
add edx, edi
mov word [edx], ax
add edx, edi
jmp 0x41c4ed
mov edx, dword [ebp - 8]
mov eax, ecx
and eax, dword [ebp - 0xc]
push 0x1f
pop ecx
add eax, ecx
push 2
pop ecx
mov word [edx], ax
add edx, ecx
mov dword [ebp - 8], edx
test ebx, ebx
je 0x45b510
mov eax, 0xffff
cmp edi, eax
jbe 0x45b510
mov ecx, edi
call fcn.0049b9ba
mov edx, dword [ebp - 8]
lea edx, [edx + eax*2]
jmp 0x41c4ed
mov word [edx], di
jmp 0x41c580
cmp dword [ebp - 0x5c], 0
je 0x45a308
invalid
mov eax, 0xffff
cmp edi, eax
jbe 0x45a308
jmp 0x45a2e2
retf 0xc223
add cl, ch
retf
int3
je 0x41c525
or dword [ebp - 0x54], 0xffffffff
or dword [ebp - 0x34], 0xffffffff
jmp 0x41b9e0
pop edx
add al, 0xfc
dec dword [edi]
mov bh, 0x4a
dec byte [ebx + 0x4d896843]
mov al, byte [0xfc0448e9]
inc dword [ebp + 0x43850fc9]
add al, 0xfc
invalid
mov edx, dword [ebp - 0x28]
mov dword [ebp - 8], eax
sub eax, edx
sar eax, 1
mov word [edx + 2], ax
jmp 0x41b9e0
rcr byte [ecx - 0xa], 0x94
add eax, 0xffffff20
not byte [ebp + eax - 0xe0]
inc eax
cmp eax, ecx
jb 0x45b6e6
jmp 0x41c065
add byte [eax], al
mov eax, dword [ebp + 0xc]
add esi, 2
mov dword [eax], 0xbb0018
jmp 0x45b8d1
jmp 0x45b3c1
jmp 0x45b3c1
jmp 0x45b8d1
push 0x3a
jmp 0x45b8a2
push 0x1d
jmp 0x45b8a2
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x54
jmp 0x45b8d1
push 0xf
jmp 0x45b8a2
mov eax, dword [ebp + 0xc]
pop ecx
mov dword [eax], ecx
jmp 0x45b3c1
mov eax, dword [ebp + 0xc]
pop ecx
mov dword [eax], ecx
jmp 0x45b8d1
add byte [eax], al
add cl, ch
add al, 0xfb
invalid
mov eax, dword [ebp + 0xc]
mov dword [eax], 8
jmp 0x45b8d1
or al, 0xc7
add byte [eax + eax], dh
add byte [eax], al
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
jmp 0x41bc31
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
movzx edx, byte [eax + edi]
mov eax, dword [ebp - 8]
mov ecx, edx
shr ecx, 3
and edx, 7
movzx eax, byte [ecx + eax]
bts eax, edx
mov edx, dword [ebp - 8]
inc edi
mov byte [ecx + edx], al
cmp edi, ebx
adc dword [ebx], edi
sti
jbe 0x45b9a7
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
jmp 0x41c5bb
add byte [ebx], bh
cli
jbe 0x41c5c9
mov edi, edx
mov dword [ebp + 0x14], edi
jmp 0x41c5c9