Function at 0x409559
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push edx
xor edx, 0x38b8
and edx, 0x5c37
or edx, 0x7799
pop edx
push ebx
xor ebx, 0x7d8
jmp 0x40897f
call 0x40898d
add byte [edi], dh
xor al, 0x46
xor al, 0x4a
inc esi
push eax
dec edx
add esp, 4
pop ebx
mov byte [ebp - 0x804], 0x45
mov byte [ebp - 0x803], 0x78
mov byte [ebp - 0x802], 0x69
mov byte [ebp - 0x801], 0x74
mov byte [ebp - 0x800], 0x50
mov byte [ebp - 0x7ff], 0x72
mov byte [ebp - 0x7fe], 0x6f
mov byte [ebp - 0x7fd], 0x63
mov byte [ebp - 0x7fc], 0x65
mov byte [ebp - 0x7fb], 0x73
mov byte [ebp - 0x7fa], 0x73
mov byte [ebp - 0x7f9], 0
push edx
xor edx, 0x2ace
add edx, 0x74c
pop edx
push eax
jmp 0x4089fa
jmp 0x4089ff
call 0x408a0c
add byte [edi + 0x41], al
push eax
dec ecx
cmp eax, 0xc483354a
add al, 0xeb
add eax, 0x41474e3c
inc ebx
pop eax
mov ecx, 0x6b
mov word [ebp - 0x1628], cx
mov edx, 0x65
mov word [ebp - 0x1626], dx
mov eax, 0x72
mov word [ebp - 0x1624], ax
mov ecx, 0x6e
mov word [ebp - 0x1622], cx
mov edx, 0x65
mov word [ebp - 0x1620], dx
mov eax, 0x6c
mov word [ebp - 0x161e], ax
mov ecx, 0x33
mov word [ebp - 0x161c], cx
mov edx, 0x32
mov word [ebp - 0x161a], dx
mov eax, 0x2e
mov word [ebp - 0x1618], ax
mov ecx, 0x64
mov word [ebp - 0x1616], cx
mov edx, 0x6c
mov word [ebp - 0x1614], dx
mov eax, 0x6c
mov word [ebp - 0x1612], ax
xor ecx, ecx
mov word [ebp - 0x1610], cx
push edx
push edi
add esp, 4
xor edx, 0x8488
add edx, 0x9317
add edx, 0xc924
pop edx
push ebx
push ebx
add esp, 4
jmp 0x408ad5
xor ebx, 0x2b6
sub ebx, 0x54ae
pop ebx
push esi
call 0x408af2
add byte [edx], dh
xor al, 0x47
inc esp
inc ebp
inc ebx
cmp ecx, dword [ebx + edi - 0x7d]
les eax, [eax + ebp*8]
or dword [eax], eax
add byte [eax], al
add byte [edx + 0x3b], al
dec ebx
inc ecx
xor eax, 0x833c4c39
les eax, [ebx + ebp*8]
push es
cmp eax, 0x4a444341
notrack jmp 0x408b13
pop esi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1890], edx
mov eax, dword [ebp - 0x1890]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1894], ecx
mov edx, dword [ebp - 0x1894]
mov dword [ebp - 0x14d4], edx
push edx
call 0x408b4c
add byte [edi], dh
cmp byte ss:[ebx], bh
xor eax, 0x3e464639
add esp, 4
pop edx
push ebx
push edx
add esp, 4
add ebx, 0xa66d
sub ebx, 0x8c48
add ebx, 0xae02
sub ebx, 0x1594d
pop ebx
cmp dword [ebp - 0x14d4], 0
jne 0x408b86
mov dword [ebp - 0x2e0], 0
jmp 0x408e42
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push eax
and eax, 0x9ecf
sub eax, 0x17a3f
and eax, 0x13875
or eax, 0x3e37
pop eax
push ebx
push ebx
add esp, 4
and ebx, 0x1487a
xor ebx, 0x107dc
and ebx, 0xd002
pop ebx
cmp dword [ebp - 0xc20], 0
jne 0x408be2
mov dword [ebp - 0x2e0], 0
jmp 0x408e42
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push ebx
push ebx
add esp, 4
sub ebx, 0x17a39
pop ebx
push esi
push edx
add esp, 4
add esi, 0x6630
xor esi, 0x8143
pop esi
push esi
add esi, 0x11e30
and esi, 0x11959
sub esi, 0x3b81
pop esi
lea ecx, [ebp - 0x1628]
mov dword [ebp - 0xc1c], ecx
mov edx, dword [ebp - 0x4d4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc18], eax
xor ecx, ecx
mov word [ebp - 0x1f8], cx
xor edx, edx
mov word [ebp - 0x100], dx
push ebx
call 0x408c5e
add byte [esi], dh
dec eax
cmp bh, byte [0x3c4e463a]
aaa
xor al, byte [ebx + 0x505b04c4]
call 0x408c6f
add byte [ebx], dh
cmp edi, dword [0x83453233]
les eax, [ecx + eax*4]
call fcn.0041fb9a
sub eax, 0x14fb3
pop eax
mov eax, dword [ebp - 0xc18]
mov cx, word [eax]
mov word [ebp - 0xf7e], cx
mov edx, dword [ebp - 0xc18]
add edx, 2
mov dword [ebp - 0xc18], edx
mov ax, word [ebp - 0xf7e]
mov word [ebp - 0x1f8], ax
mov ecx, dword [ebp - 0xc1c]
mov dx, word [ecx]
mov word [ebp - 0xf80], dx
mov eax, dword [ebp - 0xc1c]
add eax, 2
mov dword [ebp - 0xc1c], eax
mov cx, word [ebp - 0xf80]
mov word [ebp - 0x100], cx
push ebx
and ebx, 0x96e7
or ebx, 0x7de5
add ebx, 0xfde
sub ebx, 0x17345
pop ebx
push edi
call 0x408d01
add byte [ecx + 0x4b], al
aas
inc eax
dec edx
cmp al, 0x49
add esp, 4
and edi, 0x1676b
pop edi
movzx edx, word [ebp - 0x100]
test edx, edx
jne 0x408d2e
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
sub eax, ecx
mov dword [ebp - 0x1498], eax
jmp 0x408d91
movzx edx, word [ebp - 0x1f8]
movzx eax, word [ebp - 0x100]
cmp edx, eax
je 0x408c4d
movzx ecx, word [ebp - 0x1f8]
xor ecx, 0x20
movzx edx, word [ebp - 0x100]
cmp ecx, edx
je 0x408c4d
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
cmp eax, ecx
jge 0x408d7b
mov dword [ebp - 0x14d8], 0xffffffff
jmp 0x408d85
mov dword [ebp - 0x14d8], 1
mov edx, dword [ebp - 0x14d8]
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 0
jne 0x408dda
push esi
push eax
add esp, 4
and esi, 0x5dd2
or esi, 0x1662
pop esi
push eax
push esi
add esp, 4
sub eax, 0x15cf5
jmp 0x408dbe
jmp 0x408dc5
add eax, 0xca3a
pop eax
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x2e0], eax
jmp 0x408e42
push ebx
and ebx, 0xf550
xor ebx, 0x2808
and ebx, 0xb84f
pop ebx
push esi
push ebx
add esp, 4
add esi, 0x2616
add esi, 0x4239
pop esi
push eax
push edx
add esp, 4
add eax, 0x29e
pop eax
mov ecx, dword [ebp - 0x4d4]
mov edx, dword [ecx]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0xc20]
je 0x408e38
mov ecx, dword [ebp - 0x4d4]
cmp dword [ecx + 0x30], 0
jne 0x408bee
mov dword [ebp - 0x2e0], 0
push ecx
sub ecx, 0x14cb8
sub ecx, 0xb06
jmp 0x408e55
pop ecx
push edi
add edi, 0x8349
or edi, 0x5d4a
jmp 0x408e6c
jmp 0x408e73
pop edi
cmp dword [ebp - 0x2e0], 0
jne 0x40978d
mov edx, 0x6b
mov word [ebp - 0x16cc], dx
mov eax, 0x65
mov word [ebp - 0x16ca], ax
mov ecx, 0x72
mov word [ebp - 0x16c8], cx
mov edx, 0x6e
mov word [ebp - 0x16c6], dx
mov eax, 0x65
mov word [ebp - 0x16c4], ax
mov ecx, 0x6c
mov word [ebp - 0x16c2], cx
mov edx, 0x33
mov word [ebp - 0x16c0], dx
mov eax, 0x32
mov word [ebp - 0x16be], ax
mov ecx, 0x2e
mov word [ebp - 0x16bc], cx
mov edx, 0x64
mov word [ebp - 0x16ba], dx
mov eax, 0x6c
mov word [ebp - 0x16b8], ax
mov ecx, 0x6c
mov word [ebp - 0x16b6], cx
xor edx, edx
mov word [ebp - 0x16b4], dx
push edi
push esi
add esp, 4
add edi, 0x5be
and edi, 0x5495
and edi, 0xaba6
call 0x408f40
add byte [edx + 0x4e], cl
xor bh, byte [ecx]
dec edi
cmp eax, dword [ecx + 0x48]
inc ebx
add esp, 4
pop edi
push eax
add eax, 0x13ada
pop eax
mov byte [ebp - 0x820], 0x4c
mov byte [ebp - 0x81f], 0x6f
mov byte [ebp - 0x81e], 0x61
mov byte [ebp - 0x81d], 0x64
mov byte [ebp - 0x81c], 0x4c
mov byte [ebp - 0x81b], 0x69
mov byte [ebp - 0x81a], 0x62
mov byte [ebp - 0x819], 0x72
mov byte [ebp - 0x818], 0x61
mov byte [ebp - 0x817], 0x72
mov byte [ebp - 0x816], 0x79
mov byte [ebp - 0x815], 0x57
mov byte [ebp - 0x814], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1898], eax
mov ecx, dword [ebp - 0x1898]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x189c], edx
mov eax, dword [ebp - 0x189c]
mov dword [ebp - 0x14dc], eax
push ecx
or ecx, 0x7a8e
pop ecx
push eax
push esi
add esp, 4
add eax, 0x1591e
pop eax
push edx
push ebx
add esp, 4
xor edx, 0xd5d1
and edx, 0xf2e7
xor edx, 0xd0ff
add edx, 0x4137
pop edx
cmp dword [ebp - 0x14dc], 0
jne 0x409018
mov dword [ebp - 0x6ec], 0
jmp 0x4092d4
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push eax
push eax
add esp, 4
add eax, 0x14e52
and eax, 0xe6
or eax, 0x13198
pop eax
push esi
add esi, 0xf830
or esi, 0xe523
and esi, 0x7774
add esi, 0x9980
pop esi
cmp dword [ebp - 0xc2c], 0
jne 0x409074
mov dword [ebp - 0x6ec], 0
jmp 0x4092d4
mov ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0x4d8], ecx
push edx
push edi
add esp, 4
and edx, 0x10cb
pop edx
push ebx
push eax
add esp, 4
xor ebx, 0x11283
pop ebx
push eax
push eax
add esp, 4
xor eax, 0x113dd
pop eax
push edi
xor edi, 0x1501d
xor edi, 0xaf94
pop edi
lea edx, [ebp - 0x16cc]
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc24], ecx
xor edx, edx
mov word [ebp - 0x1fc], dx
xor eax, eax
mov word [ebp - 0x104], ax
push edx
and edx, 0xf2c2
add edx, 0xa4fe
pop edx
push edi
xor edi, 0xec0d
or edi, 0x144d2
call 0x409107
add byte [eax + 0x4e], dl
inc ecx
xor esi, dword [0xc4834748]
add al, 0x81
mul dword [ebx - 4]
add byte [eax], al
pop edi
mov ecx, dword [ebp - 0xc24]
mov dx, word [ecx]
mov word [ebp - 0xf82], dx
mov eax, dword [ebp - 0xc24]
add eax, 2
mov dword [ebp - 0xc24], eax
mov cx, word [ebp - 0xf82]
mov word [ebp - 0x1fc], cx
mov edx, dword [ebp - 0xc28]
mov ax, word [edx]
mov word [ebp - 0xf84], ax
mov ecx, dword [ebp - 0xc28]
add ecx, 2
mov dword [ebp - 0xc28], ecx
mov dx, word [ebp - 0xf84]
mov word [ebp - 0x104], dx
push edi
push edi
add esp, 4
sub edi, 0x12bd
or edi, 0x4188
sub edi, 0x5457
pop edi
push edx
add edx, 0xd815
sub edx, 0x7940
or edx, 0x8bac
add edx, 0xac57
pop edx
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x4091c0
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x409223
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x4090df
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x4090df
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x40920d
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x409217
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x40926c
push ebx
and ebx, 0x6438
and ebx, 0xf3a5
sub ebx, 0x566a
or ebx, 0x68c8
pop ebx
push ebx
push ebx
add esp, 4
sub ebx, 0xe48a
sub ebx, 0x40b7
xor ebx, 0x2817
pop ebx
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x4092d4
push eax
add eax, 0xb072
or eax, 0x400f
pop eax
push eax
jmp 0x409283
pop eax
push eax
call 0x409294
add byte [ebx], bh
inc ecx
inc ebp
cmp eax, 0x454e504a
dec ebp
add esp, 4
add eax, 0x3c63
pop eax
mov edx, dword [ebp - 0x4d8]
mov eax, dword [edx]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
cmp ecx, dword [ebp - 0xc2c]
je 0x4092ca
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x409080
mov dword [ebp - 0x6ec], 0
push esi
and esi, 0x6727
or esi, 0xb650
pop esi
push edi
push ecx
add esp, 4
jmp 0x4092ef
sub edi, 0x1746f
call 0x409302
add byte [ecx + 0x37], al
xor edi, dword [ecx]
xor al, 0x4c
dec ebx
add esp, 4
pop edi
cmp dword [ebp - 0x6ec], 0
jne 0x409350
push edi
sub edi, 0x10c01
add edi, 0x16db
and edi, 0x101dc
pop edi
push edx
push ecx
add esp, 4
or edx, 0x4d3d
pop edx
push edx
call 0x40933d
add byte [esi + 0x41], cl
dec ecx
xor al, byte [ebx + 0x38]
inc ecx
add esp, 4
pop edx
mov dword [ebp - 0x738], 0
jmp 0x409e77
push ecx
push ecx
add esp, 4
jmp 0x40935e
pop ecx
push edx
push ecx
add esp, 4
add edx, 0xa64f
add edx, 0x1860e
call 0x40937e
add byte [edi + edi], bh
push eax
xor eax, 0x3e403e3f
add esp, 4
pop edx
mov eax, dword [ebp - 0x6ec]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x6fc], 0
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x14e8], edx
cmp dword [ebp - 0x14e8], 0
jne 0x4093c1
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x4096b2
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x4093e9
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x4096b2
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x14ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x14f0], ecx
cmp dword [ebp - 0x14f0], 0
jne 0x40941b
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x4096b2
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x409440
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x4096b2
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18a0], eax
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18a4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18a8], ecx
mov dword [ebp - 0x6f4], 0
jmp 0x40949a
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x4096a6
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x40950a
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x4095bc
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x4095bc
push ecx
call 0x409546
add byte [eax + 0x4c], cl
dec ebx
dec eax
cmp byte [esi], bh
inc ebp
add esp, 4
call 0x409559
add byte [ebp + 0x40], cl
inc ecx
xor dh, byte [ebx + esi]
dec ecx
dec edx
dec ebx
dec ebx
add esp, 4
or ecx, 0x10cde
and ecx, 0x137f6
pop ecx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x4095ae
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x4095b5
jmp 0x4094fb
jmp 0x4095bc
push edx
push ecx
add esp, 4
xor edx, 0x1d84
add edx, 0x8854
and edx, 0x55d2
pop edx
push edi
sub edi, 0x502
sub edi, 0x23cf
add edi, 0x13b16
and edi, 0x10830
pop edi
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x40961b
mov dword [ebp - 0xc30], 0
jmp 0x40968a
push ecx
push esi
add esp, 4
jmp 0x409629
and ecx, 0x9050
jmp 0x409637
pop ecx
push ecx
push eax
add esp, 4
jmp 0x409644
pop ecx
push esi
sub esi, 0x9ba5
pop esi
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x409680
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x40968a
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x4096a1
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x4096b2
jmp 0x40948b
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x40978d
push edx
sub edx, 0x359e
xor edx, 0xb771
and edx, 0xef74
pop edx
push esi
push edi
add esp, 4
add esi, 0x13e09
xor esi, 0x10d22
pop esi
push ecx
push edx
add esp, 4
sub ecx, 0xc439
pop ecx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push ecx
call 0x40970a
add byte [edx + 0x46], al
inc ebp
cmp dh, byte [edi]
dec ebp
add esp, 4
pop ecx
push edx
sub edx, 0x14723
sub edx, 0x17de3
pop edx
push edi
call 0x40972b
add byte [edi + 0x47], cl
push eax
cmp al, 0x4e
cmp eax, 0xc4833944
add al, 0x5f
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x40978d
push edx
call 0x40975c
add byte [edi], bh
push eax
cmp al, 0x40
inc edx
cmp dword [0xc4833643], esi
add al, 0x81
retf 0x26d0
push ebx
call 0x40979c
add byte [ecx], bh
cmp dword [esi], esi
dec edi
cmp eax, 0x833b3b46
les eax, [ecx + eax*4]
adc dword [ecx], 0x505b0001
push esi
add esp, 4
jmp 0x4097b2
sub eax, 0xe26c
sub eax, 0x17ad5
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push eax
push esi
add esp, 4
xor eax, 0x2151
or eax, 0xda2a
pop eax
push esi
push esi
add esp, 4
add esi, 0x16500
xor esi, 0x87a6
pop esi
push edx
jmp 0x409811
add edx, 0x96d4
pop edx
cmp dword [ebp - 0x14f4], 0
jne 0x409830
mov dword [ebp - 0x2e0], 0
jmp 0x409ad7
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push ecx
push eax
add esp, 4
jmp 0x40984d
sub ecx, 0x4461
add ecx, 0xc2b1
pop ecx
push eax
sub eax, 0x47e3
and eax, 0x7bde
sub eax, 0x106f2
sub eax, 0x122df
pop eax
cmp dword [ebp - 0xc3c], 0
jne 0x40988c
mov dword [ebp - 0x2e0], 0
jmp 0x409ad7
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push eax
add eax, 0xfca9
pop eax
push edx
push esi
add esp, 4
jmp 0x4098aa
pop edx
push edx
push ecx
add esp, 4
call 0x4098be
add byte [esi + 0x3b], al
dec ebp
xor al, 0x35
cmp edi, dword [edi]
dec edi
add esp, 4
pop edx
push edi
add edi, 0xb215
pop edi
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
or esi, 0x5214
pop esi
push edi
xor edi, 0xe905
pop edi
push edi
xor edi, 0xdea8
or edi, 0x15183
pop edi
push edx
xor edx, 0xb163
pop edx
push edi
push esi
add esp, 4
sub edi, 0x88c9
pop edi
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push edi
xor edi, 0x11dfd
and edi, 0x1218b
sub edi, 0xd252
sub edi, 0x16e5e
pop edi
push ecx
push edx
add esp, 4
or ecx, 0x124a
and ecx, 0x16b3f
add ecx, 0xa415
pop ecx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x4099cc
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x409a26
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x4098f4
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x4098f4
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x409a10
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x409a1a
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x409a6f
push edi
jmp 0x409a36
pop edi
push ebx
and ebx, 0x55f5
and ebx, 0xdee7
jmp 0x409a49
jmp 0x409a4e
pop ebx
push edi
push eax
add esp, 4
xor edi, 0x4cb
xor edi, 0x2100
pop edi
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x409ad7
push edx
call 0x409a7d
add byte [eax + 0x4d], dl
xor eax, 0x3737364d
add esp, 4
pop edx
push eax
sub eax, 0x271c
sub eax, 0x5ee3
pop eax
push ecx
push edx
add esp, 4
add ecx, 0x782
and ecx, 0x4321
pop ecx
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0xc3c]
je 0x409acd
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x409898
mov dword [ebp - 0x2e0], 0
push edx
xor edx, 0x10408
jmp 0x409ae4
and edx, 0xfddf
pop edx
push esi
push ecx
add esp, 4
jmp 0x409af5
pop esi
push ecx
push eax
add esp, 4
xor ecx, 0xce0
jmp 0x409b08
pop ecx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push eax
and eax, 0xb411
call 0x409b2f
add byte [eax + 0x33], cl
cmp dword ds:[eax + 0x42], eax
cmp al, 0x3b
dec edi
inc ecx
add esp, 4
call 0x409b40
add byte [edi + 0x3b], al
cmp byte [ebx], bh
cmp esi, dword [edi]
cmp byte [ebx], bh
add esp, 4
add eax, 0x10a33
pop eax
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x409b7a
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x409e6b
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x409ba2
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x409e6b
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x409bd4
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x409e6b
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x409bf9
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x409e6b
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x409c53
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x409e5f
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x409cc3
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x409d75
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x409d75
push eax
push edi
add esp, 4
xor eax, 0xd095
pop eax
push ecx
call 0x409d0c
add byte [esi], bh
xor eax, 0x344c443c
xor eax, dword [ebx + 0x4f]
add esp, 4
and ecx, 0xddd4
add ecx, 0x158ca
add ecx, 0x17290
pop ecx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x409d67
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x409d6e
jmp 0x409cb4
jmp 0x409d75
push ecx
and ecx, 0x6d2c
sub ecx, 0x17b9b
pop ecx
push esi
or esi, 0xe6ed
pop esi
push esi
or esi, 0xf46
and esi, 0x17c62
sub esi, 0x545d
pop esi
push ebx
or ebx, 0x15565
pop ebx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x409dd4
mov dword [ebp - 0xc40], 0
jmp 0x409e43
push edx
push ebx
add esp, 4
call 0x409de8
add byte [esi + 0x45], cl
xor eax, 0x4434364e
cmp dword [eax], edi
add esp, 4
or edx, 0x170
pop edx
push ebx
xor ebx, 0x160c3
and ebx, 0x101d5
sub ebx, 0x152fc
pop ebx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x409e39
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x409e43
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x409e5a
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x409e6b
jmp 0x409c44
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push edx
push edi
add esp, 4
call 0x409e88
add byte [esi + 0x41], al
xor al, 0x35
cmp eax, 0x4c48337
xor edx, 0x20e7
pop edx
push edx
call 0x409e9f
add byte [eax + edx*2 + 0x42], al
push eax
inc edx
inc ecx
xor eax, dword [esi - 0x7d]
les eax, [ebx + ebp*8]
add al, 0x32
xor cl, byte [ebx + 0x3e]
pop edx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push esi
call 0x409ec7
add byte [esi], dh
inc ecx
cmp al, 0x32
dec ebx
inc eax
cmp dword [edx - 0x7d], ecx
les eax, [ebx + ebp*8]
add ecx, dword [edx + 0x40]
pop esi
push esi
add esi, 0xd168
xor esi, 0x3ae9
and esi, 0x11d8b
and esi, 0x3f03
pop esi
cmp dword [ebp - 0x3cc], 0
je 0x409efc
cmp dword [ebp - 0xa5c], 0
jne 0x409f42
push ebx
push ebx
add esp, 4
and ebx, 0x137f4
sub ebx, 0x14bb7
sub ebx, 0x97e9
pop ebx
push eax
xor eax, 0x11276
and eax, 0x13e92
add eax, 0x409
and eax, 0x1137f
pop eax
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push ecx
and ecx, 0x10a0
call 0x409f60
add byte [edx], dh
dec edi
push eax
xor al, 0x33
dec esi
cmp eax, dword [ebx - 0x1e7efb3c]
mov dword [0x810000ec], eax
jmp 0x4124ea
sbb esi, dword [ebp - 0x77cfdfe]
pop ebx
cmpsd dword [esi], dword es:[edi]
add al, byte [edx]
pushal
pop eax
adc eax, 0x3d
lds eax, [edx]
add ah, byte [eax + 0x53]
add ebx, 0xffffffe3
sbb eax, dword [edx]
add al, byte [ebx + 0x2b0ece3]
add bl, byte [ebx - 0x37]
xchg edx, eax
test dword [ecx], 0x2020201
add ch, bl
sub cl, byte [0x52530202]
test esi, eax
push es
sub ebx, 0x25
push edi
add al, byte [edx]
xor ebx, 0x13
rol dword [edx], 2
and ebx, 0x57
add eax, dword fs:[edx]
pop ebx
pop ecx
cmp ecx, 0x19
lodsb al, byte [esi]
add al, byte [edx]
ljmp 0x4002