Function at 0x409394
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x4085c6
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1964]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1968]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x196c]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1970], eax
mov dword [ebp - 0x198], 0
jmp 0x40842a
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x4084dc
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
test edx, edx
je 0x4084dc
push ebx
push ecx
add esp, 4
sub ebx, 0x471d
or ebx, 0x149fa
sub ebx, 0x739d
or ebx, 0x17331
pop ebx
push eax
and eax, 0x810c
pop eax
push esi
push eax
add esp, 4
sub esi, 0x901a
pop esi
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
cmp ecx, eax
je 0x4084ce
mov ecx, dword [ebp - 0x75c]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x894]
cmp edx, ecx
jne 0x4084d5
jmp 0x40841b
jmp 0x4084dc
push ecx
push edi
add esp, 4
or ecx, 0x13db0
xor ecx, 0xf396
call 0x4084fb
add byte [edx + 0x48], cl
inc edi
inc ebp
dec ebp
dec ecx
cmp dword [edx], edi
add esp, 4
pop ecx
push ebx
or ebx, 0x3c2d
jmp 0x40850d
pop ebx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
cmp eax, edx
jne 0x40853b
mov dword [ebp - 0xca8], 0
jmp 0x4085aa
push edi
push ebx
add esp, 4
sub edi, 0xee99
add edi, 0xd3de
pop edi
push esi
push edx
add esp, 4
add esi, 0x1d5c
add esi, 0x10797
jmp 0x408563
jmp 0x40856c
pop esi
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
or eax, 0x20
cmp ecx, eax
jge 0x4085a0
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x4085aa
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x4085c1
mov ecx, dword [ebp - 0x1970]
mov dword [ebp - 0x3f4], ecx
jmp 0x4085d2
jmp 0x4083ab
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x4086ad
push ecx
jmp 0x4085e7
or ecx, 0xaa3d
call 0x4085fb
add byte [esi + 0x39], cl
xor eax, dword [ebp + esi + 0x4d]
cmp al, byte [ebp - 0x7d]
les eax, [ecx + ebx*2]
push ebx
push edx
add esp, 4
or ebx, 0xca7f
sub ebx, 0x125d
pop ebx
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x1974], eax
push esi
and esi, 0x853c
and esi, 0x3688
pop esi
push edx
jmp 0x408634
sub edx, 0x1208f
pop edx
push eax
and eax, 0x18471
add eax, 0x139d3
and eax, 0xd5b7
pop eax
mov ecx, dword [ebp - 0x1974]
mov dword [ebp - 0x1978], ecx
lea edx, [ebp - 0x1738]
push edx
call dword [ebp - 0x1978]
test eax, eax
jne 0x4086ad
push edi
xor edi, 0x1632a
xor edi, 0xf986
and edi, 0xfe3b
pop edi
push eax
push edx
add esp, 4
or eax, 0xa1a1
add eax, 0x2263
or eax, 0x89d3
and eax, 0xa90e
pop eax
mov dword [ebp - 0x79c], 0
jmp 0x408d97
push ebx
sub ebx, 0x14603
jmp 0x4086ba
xor ebx, 0x8e4
pop ebx
push edi
xor edi, 0x897e
jmp 0x4086cd
call 0x4086db
add byte [ebx], bh
inc ecx
dec ecx
inc ecx
dec edi
aaa
xor eax, 0x4c4834f
pop edi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x197c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1980], edx
mov eax, dword [ebp - 0x1980]
mov dword [ebp - 0x15fc], eax
push ecx
xor ecx, 0x162bd
or ecx, 0x19e4
jmp 0x408719
pop ecx
push edi
call 0x408728
add byte [eax + 0x32], cl
xor edi, dword ss:[esi]
cmp ecx, dword [ebx + eax*4 - 0x3c]
add al, 0x81
out 0x76, eax
pop ebx
add dword [eax], eax
add edi, 0x109fb
pop edi
cmp dword [ebp - 0x15fc], 0
jne 0x408750
mov dword [ebp - 0x31c], 0
jmp 0x4089f7
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push esi
push ecx
add esp, 4
sub esi, 0x433b
pop esi
push edx
sub edx, 0xd022
or edx, 0x14fc8
xor edx, 0xe5a8
pop edx
push edi
push ecx
add esp, 4
xor edi, 0x2116
and edi, 0x79a7
pop edi
cmp dword [ebp - 0xcb4], 0
jne 0x4087ac
mov dword [ebp - 0x31c], 0
jmp 0x4089f7
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push eax
push edi
add esp, 4
sub eax, 0x1510c
and eax, 0xd5d3
or eax, 0x2dc5
pop eax
push eax
call 0x4087e0
add byte [edi + 0x3c], cl
aaa
xor cl, byte [edi + 0x46]
dec esi
xor dh, byte [ebx + eax*4]
les eax, [ecx + eax*4]
enter 0x5667, 1
add byte [eax - 0x73], bl
xchg ebp, eax
enter 0xffffffffffffffe8, 0xffffffffffffffff
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ecx
call 0x408822
add byte [ebx + 0x3f], al
cmp al, 0x45
dec esp
dec esp
add esp, 4
and ecx, 0x16945
pop ecx
push ecx
add ecx, 0x1496e
or ecx, 0xcb76
xor ecx, 0xe249
and ecx, 0x4ae0
pop ecx
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push edi
push eax
add esp, 4
sub edi, 0xbd63
xor edi, 0x9e11
add edi, 0x17247
pop edi
push ebx
add ebx, 0x138ce
add ebx, 0xfbd1
xor ebx, 0x18446
xor ebx, 0xd33f
pop ebx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x4088ec
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1604], ecx
jmp 0x408946
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x408814
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x408814
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x408930
mov dword [ebp - 0x1600], 0xffffffff
jmp 0x40893a
mov dword [ebp - 0x1600], 1
mov eax, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], eax
cmp dword [ebp - 0x1604], 0
jne 0x40898f
push esi
add esi, 0x18208
sub esi, 0x80b4
or esi, 0xca31
and esi, 0x130b3
pop esi
push edi
push ebx
add esp, 4
add edi, 0x51a5
sub edi, 0x46fa
add edi, 0x1567b
pop edi
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x4089f7
push ecx
push esi
add esp, 4
xor ecx, 0x6334
sub ecx, 0xe017
add ecx, 0xafbc
and ecx, 0xd607
pop ecx
push ebx
and ebx, 0x159bf
xor ebx, 0x11ec4
sub ebx, 0x13f47
pop ebx
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x4089ed
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x4087b8
mov dword [ebp - 0x31c], 0
push edx
push eax
add esp, 4
or edx, 0xec93
and edx, 0x120a4
call 0x408a17
add byte [edx + 0x4a], cl
dec ebx
dec ecx
cmp dword [ebp + 0x4c], ecx
push eax
dec esi
add esp, 4
pop edx
push ebx
or ebx, 0x1660f
sub ebx, 0xef06
pop ebx
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push eax
push ecx
add esp, 4
add eax, 0x18123
jmp 0x408a48
add eax, 0xe8be
add eax, 0xecd8
pop eax
push edx
push esi
add esp, 4
call 0x408a66
add byte [0x3e3b464b], dh
dec ebx
add esp, 4
pop edx
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1608], edx
cmp dword [ebp - 0x1608], 0
jne 0x408a9a
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x408d8b
mov ecx, dword [ebp - 0x1608]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x160c], edx
jne 0x408ac2
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x408d8b
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x160c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1610], ecx
cmp dword [ebp - 0x1610], 0
jne 0x408af4
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x408d8b
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1610]
mov dword [ebp - 0x764], eax
jne 0x408b19
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x408d8b
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1984], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1988], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d10], ecx
mov dword [ebp - 0x768], 0
jmp 0x408b73
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x408d7f
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1984]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1988]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d10]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x198c], eax
mov dword [ebp - 0x19c], 0
jmp 0x408be3
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x408c95
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x408c95
push ebx
push ecx
add esp, 4
add ebx, 0x857d
and ebx, 0xaaeb
pop ebx
push ebx
push esi
add esp, 4
sub ebx, 0x15001
pop ebx
push edi
and edi, 0x17d45
and edi, 0x13bae
or edi, 0x8efc
pop edi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x408c87
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x408c8e
jmp 0x408bd4
jmp 0x408c95
push esi
push esi
add esp, 4
jmp 0x408ca1
and esi, 0x16ca6
jmp 0x408cac
sub esi, 0x5f08
pop esi
push edi
sub edi, 0x129b2
or edi, 0x11148
add edi, 0x16df7
pop edi
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x408cf4
mov dword [ebp - 0xcb8], 0
jmp 0x408d63
push ebx
push ecx
add esp, 4
xor ebx, 0xfb44
pop ebx
push esi
xor esi, 0x891d
and esi, 0x14d5
pop esi
push ecx
push esi
add esp, 4
call 0x408d22
add byte [edx], bh
dec esi
dec eax
push eax
xor ecx, dword [ecx + 0x46]
inc ebp
aas
add esp, 4
pop ecx
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x408d59
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x408d63
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x408d7a
mov ecx, dword [ebp - 0x198c]
mov dword [ebp - 0x510], ecx
jmp 0x408d8b
jmp 0x408b64
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push ecx
and ecx, 0x18199
or ecx, 0xea89
xor ecx, 0x108e6
call 0x408db9
add byte [ebp + 0x3a], al
xor eax, dword [ecx + 0x45]
cmp eax, dword [edi + 0x48]
dec edx
add esp, 4
pop ecx
push edx
push eax
add esp, 4
sub edx, 0x290e
pop edx
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x19dc], ecx
push ecx
and ecx, 0x5962
call 0x408dee
add byte [edi], bh
xor dh, byte [0x4b4f3947]
dec ecx
inc ecx
add esp, 4
pop ecx
push edx
xor edx, 0x145a5
call 0x408e06
add byte [esp + eax*2], bh
inc ebp
cmp eax, dword [edi + 0x48]
inc edx
add esp, 4
pop edx
cmp dword [ebp - 0x3e8], 0
je 0x408e1c
cmp dword [ebp - 0xab8], 0
jne 0x408e62
push eax
sub eax, 0x3f75
pop eax
push edi
push ecx
add esp, 4
xor edi, 0x65bc
xor edi, 0x1497d
or edi, 0x11405
sub edi, 0x759
pop edi
push ecx
push ecx
add esp, 4
add ecx, 0xb0f0
pop ecx
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x1990], edx
push 0
call dword [ebp - 0x1990]
mov dword [ebp - 0x20a8], 0xa
push ecx
add ecx, 0x43c2
xor ecx, 0x5acb
add ecx, 0x10e99
sub ecx, 0x155da
pop ecx
push edi
push edx
add esp, 4
sub edi, 0xe9da
or edi, 0x3892
and edi, 0x5c29
pop edi
mov eax, dword [ebp - 0x3e8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xab8]
sub edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1694], edx
mov dword [ebp - 0xce8], 0
push edx
push ebx
add esp, 4
sub edx, 0x14b5b
pop edx
push ebx
xor ebx, 0xaf22
and ebx, 0x459d
pop ebx
push esi
push eax
add esp, 4
and esi, 0x17c89
sub esi, 0x3fe1
xor esi, 0x9bf8
pop esi
mov byte [ebp - 0x9d4], 0x56
mov byte [ebp - 0x9d3], 0x69
mov byte [ebp - 0x9d2], 0x72
mov byte [ebp - 0x9d1], 0x74
mov byte [ebp - 0x9d0], 0x75
mov byte [ebp - 0x9cf], 0x61
mov byte [ebp - 0x9ce], 0x6c
mov byte [ebp - 0x9cd], 0x50
mov byte [ebp - 0x9cc], 0x72
mov byte [ebp - 0x9cb], 0x6f
mov byte [ebp - 0x9ca], 0x74
mov byte [ebp - 0x9c9], 0x65
mov byte [ebp - 0x9c8], 0x63
mov byte [ebp - 0x9c7], 0x74
mov byte [ebp - 0x9c6], 0
push edi
call 0x408f73
add byte [edx], dh
inc ebp
xor eax, 0x48334a3e
aas
add esp, 4
jmp 0x408f7d
add edi, 0x88c5
pop edi
push esi
jmp 0x408f8a
add esi, 0x39c5
jmp 0x408f95
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1994], eax
mov ecx, dword [ebp - 0x1994]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1998], edx
mov eax, dword [ebp - 0x1998]
mov dword [ebp - 0x1614], eax
push ebx
push edi
add esp, 4
or ebx, 0x108a9
and ebx, 0x5ddd
pop ebx
push ebx
push edx
add esp, 4
add ebx, 0x17ea4
jmp 0x408fe1
sub ebx, 0x183c8
jmp 0x408fee
pop ebx
cmp dword [ebp - 0x1614], 0
jne 0x409007
mov dword [ebp - 0x2fc], 0
jmp 0x4092ae
mov ecx, dword [ebp - 0x1614]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc4], eax
push edx
and edx, 0x3450
pop edx
push edx
push eax
add esp, 4
and edx, 0x14d06
pop edx
push eax
push ecx
add esp, 4
or eax, 0xcd7f
sub eax, 0x1a46
xor eax, 0x14afd
or eax, 0x12361
pop eax
cmp dword [ebp - 0xcc4], 0
jne 0x409063
mov dword [ebp - 0x2fc], 0
jmp 0x4092ae
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0x514], ecx
push edi
push edx
add esp, 4
or edi, 0x7b13
sub edi, 0xb018
pop edi
push esi
sub esi, 0x826b
pop esi
push ebx
sub ebx, 0x110e9
sub ebx, 0x1e7
pop ebx
push ebx
jmp 0x4090a0
pop ebx
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcbc], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edi
push ecx
add esp, 4
sub edi, 0xc02
add edi, 0x11548
pop edi
push eax
or eax, 0xd5a4
xor eax, 0xaf98
call 0x4090f9
add byte [esi], dh
inc ebx
inc edi
cmp byte [0x8343344d], bh
les eax, [eax + ebx*2]
mov ecx, dword [ebp - 0xcbc]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcbc]
add eax, 2
mov dword [ebp - 0xcbc], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x38], dx
push esi
call 0x409164
add byte [eax], bh
aas
dec ebx
dec ebx
dec edi
xor eax, 0x83363c38
les eax, [ecx + eax*4]
mov byte [edx - 0x7efffe96], 0xce
xor bl, bh
add byte [eax], al
pop esi
push ecx
push edi
add esp, 4
xor ecx, 0x15a80
or ecx, 0x1fe0
pop ecx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x4091a3
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x161c], ecx
jmp 0x4091fd
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x4090cb
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x4090cb
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x4091e7
mov dword [ebp - 0x1618], 0xffffffff
jmp 0x4091f1
mov dword [ebp - 0x1618], 1
mov eax, dword [ebp - 0x1618]
mov dword [ebp - 0x161c], eax
cmp dword [ebp - 0x161c], 0
jne 0x409246
push eax
push eax
add esp, 4
and eax, 0x108ac
pop eax
push eax
push ebx
add esp, 4
and eax, 0x52f5
xor eax, 0x6e51
xor eax, 0xa3ff
pop eax
push esi
xor esi, 0xc7e9
and esi, 0x171d4
pop esi
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x2fc], ecx
jmp 0x4092ae
push ecx
sub ecx, 0x12d6b
sub ecx, 0x17ae
and ecx, 0x7d19
xor ecx, 0x9df9
pop ecx
push ebx
push ecx
add esp, 4
xor ebx, 0xdeda
add ebx, 0xe3da
add ebx, 0xc840
pop ebx
mov edx, dword [ebp - 0x514]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0xcc4]
je 0x4092a4
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x40906f
mov dword [ebp - 0x2fc], 0
push eax
call 0x4092bc
add byte [edx + 0x3b], al
inc edi
xor al, 0x4e
cmp dword [ecx - 0x7d], ecx
les eax, [ecx + eax*4]
sar byte [edx], 0xec
add byte [eax], al
or eax, 0x9208
pop eax
push eax
add eax, 0x152d6
xor eax, 0x13a9e
add eax, 0x6336
pop eax
cmp dword [ebp - 0x2fc], 0
jne 0x409be5
mov eax, 0x6b
mov word [ebp - 0x1790], ax
mov ecx, 0x65
mov word [ebp - 0x178e], cx
mov edx, 0x72
mov word [ebp - 0x178c], dx
mov eax, 0x6e
mov word [ebp - 0x178a], ax
mov ecx, 0x65
mov word [ebp - 0x1788], cx
mov edx, 0x6c
mov word [ebp - 0x1786], dx
mov eax, 0x33
mov word [ebp - 0x1784], ax
mov ecx, 0x32
mov word [ebp - 0x1782], cx
mov edx, 0x2e
mov word [ebp - 0x1780], dx
mov eax, 0x64
mov word [ebp - 0x177e], ax
mov ecx, 0x6c
mov word [ebp - 0x177c], cx
mov edx, 0x6c
mov word [ebp - 0x177a], dx
xor eax, eax
mov word [ebp - 0x1778], ax
push eax
call 0x409394
add byte [ecx + 0x48], al
cmp al, byte [eax + 0x35]
inc eax
inc esp
add esp, 4
or eax, 0x11785
sub eax, 0x1538e
pop eax
push edx
sub edx, 0xb024
or edx, 0x8f9c
or edx, 0x1b97
pop edx
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x6f
mov byte [ebp - 0x8a2], 0x61
mov byte [ebp - 0x8a1], 0x64
mov byte [ebp - 0x8a0], 0x4c
mov byte [ebp - 0x89f], 0x69
mov byte [ebp - 0x89e], 0x62
mov byte [ebp - 0x89d], 0x72
mov byte [ebp - 0x89c], 0x61
mov byte [ebp - 0x89b], 0x72
mov byte [ebp - 0x89a], 0x79
mov byte [ebp - 0x899], 0x57
mov byte [ebp - 0x898], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x199c], ecx
mov edx, dword [ebp - 0x199c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19a0], eax
mov ecx, dword [ebp - 0x19a0]
mov dword [ebp - 0x1620], ecx
push ebx
push edi
add esp, 4
xor ebx, 0x2e05
sub ebx, 0x610d
sub ebx, 0x2365
xor ebx, 0xdb45
pop ebx
push esi
sub esi, 0x28e4
or esi, 0xa881
or esi, 0x1861b
pop esi
cmp dword [ebp - 0x1620], 0
jne 0x409485
mov dword [ebp - 0x774], 0
jmp 0x40972c
mov edx, dword [ebp - 0x1620]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push edx
add edx, 0x127d9
sub edx, 0x7f
pop edx
push eax
push edx
add esp, 4
xor eax, 0x7823
or eax, 0x9c4d
pop eax
push esi
push edx
add esp, 4
xor esi, 0x1362d
and esi, 0x74be
pop esi
cmp dword [ebp - 0xcd0], 0
jne 0x4094e1
mov dword [ebp - 0x774], 0
jmp 0x40972c
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx
push edi
push edx
add esp, 4
add edi, 0x27a6
and edi, 0x215d
and edi, 0x4d85
pop edi
push ecx
add ecx, 0x177ee
xor ecx, 0x160fa
or ecx, 0xecd4
xor ecx, 0x15b03
pop ecx
lea eax, [ebp - 0x1790]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc8], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ecx
add ecx, 0xd702
jmp 0x409559
and ecx, 0x9de3
pop ecx
push ecx
and ecx, 0x28d
or ecx, 0xc812
pop ecx
push ebx
sub ebx, 0x64ea
jmp 0x40957a
pop ebx
mov edx, dword [ebp - 0xcc8]
mov ax, word [edx]
mov word [ebp - 0x1042], ax
mov ecx, dword [ebp - 0xcc8]
add ecx, 2
mov dword [ebp - 0xcc8], ecx
mov dx, word [ebp - 0x1042]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xccc]
mov cx, word [eax]
mov word [ebp - 0x1044], cx
mov edx, dword [ebp - 0xccc]
add edx, 2
mov dword [ebp - 0xccc], edx
mov ax, word [ebp - 0x1044]
mov word [ebp - 0x3c], ax
push esi
push edi
add esp, 4
add esi, 0x11311
pop esi
push ecx
push esi
add esp, 4
call 0x4095ef
add byte [ebx], dh
dec esi
xor ecx, dword [edi + 0x42]
push eax
add esp, 4
call 0x409600
add byte [esi + 0x48], cl
dec ebp
dec ebx
aas
cmp al, 0x3f
inc esp
add esp, 4
pop ecx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x409621
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1668], edx
jmp 0x40967b
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x409549
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x409549
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x409665
mov dword [ebp - 0x1624], 0xffffffff
jmp 0x40966f
mov dword [ebp - 0x1624], 1
mov ecx, dword [ebp - 0x1624]
mov dword [ebp - 0x1668], ecx
cmp dword [ebp - 0x1668], 0
jne 0x4096c4
push esi
and esi, 0x121ea
pop esi
push eax
push edx
add esp, 4
jmp 0x40969a
pop eax
push esi
jmp 0x4096a1
pop esi
push ecx
push ebx
add esp, 4
jmp 0x4096af
xor ecx, 0x13af4
pop ecx
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x774], edx
jmp 0x40972c
push eax
add eax, 0xdcfc
xor eax, 0x1037d
or eax, 0x156b6
pop eax
push eax
push edx
add esp, 4
or eax, 0x10dc9
or eax, 0x37b0
pop eax
push eax
push ecx
add esp, 4
sub eax, 0x12900
pop eax
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0xcd0]
je 0x409722
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
jne 0x4094ed
mov dword [ebp - 0x774], 0
push esi
push eax
add esp, 4
or esi, 0x180e4
xor esi, 0xd8e
and esi, 0xdf9b
add esi, 0xf575
pop esi
push eax
add eax, 0xc9e3
xor eax, 0x4fdb
add eax, 0x2363
pop eax
cmp dword [ebp - 0x774], 0
jne 0x4097a8
push edi
push eax
add esp, 4
xor edi, 0x9a99
pop edi
push ebx
push edx
add esp, 4
and ebx, 0x123e1
sub ebx, 0xaa44
pop ebx
push eax
push ebx
add esp, 4
jmp 0x409792
add eax, 0x17581
pop eax
mov dword [ebp - 0xab4], 0
jmp 0x40a2d0
push ecx
push eax
add esp, 4
xor ecx, 0x11487
xor ecx, 0x54de
pop ecx
push eax
push ecx
add esp, 4
add eax, 0x13280
or eax, 0xf556
and eax, 0x1cf5
pop eax
push ebx
sub ebx, 0x106cc
pop ebx
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x784], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x166c], eax
cmp dword [ebp - 0x166c], 0
jne 0x409819
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x409b0a
mov edx, dword [ebp - 0x166c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1670], eax
jne 0x409841
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x409b0a
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1670]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1678], edx
cmp dword [ebp - 0x1678], 0
jne 0x409873
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x409b0a
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1678]
mov dword [ebp - 0x778], ecx
jne 0x409898
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x409b0a
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19a4], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19a8], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19ac], edx
mov dword [ebp - 0x77c], 0
jmp 0x4098f2
mov eax, dword [ebp - 0x77c]
add eax, 1
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x77c]
cmp edx, dword [ecx + 0x18]
jae 0x409afe
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19a4]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19a8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19ac]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19b0], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x409962
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x409a14
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
test eax, eax
je 0x409a14
push esi
push edi
add esp, 4
jmp 0x409999
or esi, 0x17389
and esi, 0x862e
xor esi, 0x1b5d
pop esi
push edx
push ebx
add esp, 4
call 0x4099bd
add byte [edx], dh
dec esp
dec edi
cmp al, byte [edi - 0x7d]
les eax, [edx + ebx*2]
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
cmp edx, ecx
je 0x409a06
mov edx, dword [ebp - 0x780]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x8a4]
cmp eax, edx
jne 0x409a0d
jmp 0x409953
jmp 0x409a14
push eax
push esi
add esp, 4
add eax, 0x1805c
xor eax, 0x10582
add eax, 0x161a1
pop eax
push ebx
push esi
add esp, 4
or ebx, 0x4b62
pop ebx
push esi
and esi, 0x6c26
and esi, 0xdf59
pop esi
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
cmp ecx, eax
jne 0x409a73
mov dword [ebp - 0xcd4], 0
jmp 0x409ae2
push eax
xor eax, 0x15873
jmp method.ATL::CComModule.virtual_0
add eax, 0x64db
pop eax
push edi
push esi
add esp, 4
sub edi, 0x5d97
or edi, 0x9334
jmp 0x409a9e
and edi, 0xc1e2
pop edi
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
or ecx, 0x20
cmp edx, ecx
jge 0x409ad8
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x409ae2
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x409af9
mov edx, dword [ebp - 0x19b0]
mov dword [ebp - 0x3f8], edx
jmp 0x409b0a
jmp 0x4098e3
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x409be5
push eax
push ecx
add esp, 4
xor eax, 0x13840
xor eax, 0x73bc
pop eax
push edi
push ecx
add esp, 4
and edi, 0x967d
add edi, 0x546b
pop edi
push esi
add esi, 0xc6f1
sub esi, 0xad1f
pop esi
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x19b4], ecx
push eax
push edi
add esp, 4
or eax, 0x5148
and eax, 0x1b27
and eax, 0x3814
pop eax
push esi
sub esi, 0x2389
xor esi, 0xed6e
or esi, 0x2c39
add esi, 0xda98
pop esi
mov edx, dword [ebp - 0x19b4]
mov dword [ebp - 0x19b8], edx
lea eax, [ebp - 0x1738]
push eax
call dword [ebp - 0x19b8]
test eax, eax
jne 0x409be5
push esi
sub esi, 0x8f04
sub esi, 0x145fe
or esi, 0x5899
xor esi, 0x6947
pop esi
push edi
push ecx
add esp, 4
sub edi, 0x4a05
pop edi
push eax
push ecx
add esp, 4
add eax, 0x138ad
pop eax
mov dword [ebp - 0xab4], 0
jmp 0x40a2d0
push esi
or esi, 0xc598
pop esi
push esi
push ecx
add esp, 4
call 0x409c01
add byte [eax], bh
dec esp
cmp eax, dword [edx + 0x47]
cmp al, 0x44
xor eax, 0x8104c483
out dx, al
nop
dec eax
add dword [eax], eax
sub esi, 0x65b7
and esi, 0x8f34
pop esi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19bc], ecx
mov edx, dword [ebp - 0x19bc]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19c0], eax
mov ecx, dword [ebp - 0x19c0]
mov dword [ebp - 0x167c], ecx
push edi
jmp 0x409c48
pop edi
push eax
push edi
add esp, 4
or eax, 0x151ec
add eax, 0x6d4d
xor eax, 0x9980
pop eax
push eax
or eax, 0x1618b
pop eax
push ecx
or ecx, 0x244f
pop ecx
cmp dword [ebp - 0x167c], 0
jne 0x409c89
mov dword [ebp - 0x2fc], 0
jmp 0x409f30
mov edx, dword [ebp - 0x167c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push eax
push edx
add esp, 4
add eax, 0x6b55
and eax, 0x16347
or eax, 0x9d13
pop eax
push esi
xor esi, 0xbada
add esi, 0x12153
and esi, 0x1546e
xor esi, 0x6550
pop esi
cmp dword [ebp - 0xce0], 0
jne 0x409ce5
mov dword [ebp - 0x2fc], 0
jmp 0x409f30
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push ecx
xor ecx, 0x174d9
pop ecx
push ecx
push esi
add esp, 4
call 0x409d0d
add byte [ebx], dh
inc esp
push eax
dec edx
inc ebx
aaa
dec esp
push eax
add esp, 4
sub ecx, 0x9d20
and ecx, 0x14da3
and ecx, 0xa660
pop ecx
lea eax, [ebp - 0x1738]
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcd8], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push edx
and edx, 0x73a6
sub edx, 0x140f
sub edx, 0x7eeb
pop edx
push esi
jmp 0x409d6a
jmp 0x409d6f
jmp 0x409d78
and esi, 0x5557
pop esi
mov edx, dword [ebp - 0xcd8]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xcd8]
add ecx, 2
mov dword [ebp - 0xcd8], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x40], ax
push ebx
push esi
add esp, 4
xor ebx, 0x864a
and ebx, 0x1339d
add ebx, 0x1e8
pop ebx
push edx
xor edx, 0x16c54
xor edx, 0xf488
and edx, 0xeba8
sub edx, 0xa91a
pop edx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x409e25
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1684], edx
jmp 0x409e7f
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x409d4d
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x409d4d
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x409e69
mov dword [ebp - 0x1680], 0xffffffff
jmp 0x409e73
mov dword [ebp - 0x1680], 1
mov ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 0
jne 0x409ec8
push edi
xor edi, 0x15c02
pop edi
push edx
push eax
add esp, 4
xor edx, 0x73dc
call 0x409eaa
add byte [ebp + edi + 0x45], al
xor al, 0x39
inc edi
dec esi
dec ebx
cmp dword [ebx + 0x525a04c4], eax
push edi
add esp, 4
and edx, 0x1805f
pop edx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x409f30
push ecx
sub ecx, 0x5da0
xor ecx, 0x128f3
add ecx, 0x10432
call 0x409eea
add byte [ecx + 0x42], al
push eax
inc edi
inc ebp
inc esi
xor al, 0x34
add esp, 4
pop ecx
push ecx
push esi
add esp, 4
add ecx, 0x2ec0
pop ecx
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xce0]
je 0x409f26
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x409cf1
mov dword [ebp - 0x2fc], 0
push esi
sub esi, 0x4aac
and esi, 0x6ee5
jmp 0x409f44
xor esi, 0x1865b
pop esi
push esi
push eax
add esp, 4
jmp 0x409f59
pop esi
push esi
add esi, 0x10378
pop esi
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push edx
xor edx, 0x357f
xor edx, 0xd5dd
add edx, 0x99b3
pop edx
push edi
push eax
add esp, 4
or edi, 0x10b24
or edi, 0xa811
pop edi
push esi
push ecx
add esp, 4
add esi, 0xd128
pop esi
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1688], eax
cmp dword [ebp - 0x1688], 0
jne 0x409fd3
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x40a2c4
mov edx, dword [ebp - 0x1688]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x168c], eax
jne 0x409ffb
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x40a2c4
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x168c]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 0
jne 0x40a02d
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x40a2c4
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x788], ecx
jne 0x40a052
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x40a2c4
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19c4], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19c8], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19cc], edx
mov dword [ebp - 0x78c], 0
jmp 0x40a0ac
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x78c]
cmp edx, dword [ecx + 0x18]
jae 0x40a2b8
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x19c4]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x19c8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19cc]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19d0], ecx
mov dword [ebp - 0x1a4], 0
jmp 0x40a11c
mov edx, dword [ebp - 0x1a4]
add edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40a1ce
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
test eax, eax
je 0x40a1ce
push ecx
xor ecx, 0x114b1
pop ecx
push esi
push ecx
add esp, 4
or esi, 0x14183
call 0x40a16b
add byte [ebx], bh
inc ebx
dec ecx
inc ebx
aaa
inc ebp
dec eax
add esp, 4
xor esi, 0x97a4
sub esi, 0xa8a8
pop esi
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
cmp edx, ecx
je 0x40a1c0
mov edx, dword [ebp - 0x790]
add edx, dword [ebp - 0x1a4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a4]
movsx edx, byte [ebp + ecx - 0x9d4]
cmp eax, edx
jne 0x40a1c7
jmp 0x40a10d
jmp 0x40a1ce
push edi
push edi
add esp, 4
sub edi, 0x7d27
pop edi
push edx
jmp 0x40a1e4
call 0x40a1f4
add byte [edi], bh
dec edi
dec eax
inc ebx
dec ebx
dec eax
cmp al, byte [ebx - 0x7d]
les eax, [edx + ebx*2]
push esi
and esi, 0x16099
pop esi
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
cmp ecx, eax
jne 0x40a22d
mov dword [ebp - 0xce4], 0
jmp 0x40a29c
push edi
push edi
add esp, 4
xor edi, 0x114fa
pop edi
push esi
push edi
add esp, 4
jmp 0x40a246
pop esi
push ebx
push ecx
add esp, 4
sub ebx, 0x184a1
and ebx, 0x1226d
add ebx, 0x8122
pop ebx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
or ecx, 0x20
cmp edx, ecx
jge 0x40a292
mov dword [ebp - 0xce4], 0xffffffff
jmp 0x40a29c
mov dword [ebp - 0xce4], 1
cmp dword [ebp - 0xce4], 0
jne 0x40a2b3
mov edx, dword [ebp - 0x19d0]
mov dword [ebp - 0x520], edx
jmp 0x40a2c4
jmp 0x40a09d
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0xab4], ecx
push ebx
sub ebx, 0x74a4
sub ebx, 0x8975
and ebx, 0x25c8
pop ebx
push edi
push ecx
add esp, 4
or edi, 0x1761c
or edi, 0x6956
pop edi
push edx
push eax
add esp, 4
or edx, 0x17c19
pop edx
mov edx, dword [ebp - 0xab4]
mov dword [ebp - 0x19d4], edx
lea eax, [ebp - 0xce8]
push eax
push 0x40
mov ecx, dword [ebp - 0x1694]
push ecx
mov edx, dword [ebp - 0x3e8]
push edx
call dword [ebp - 0x19d4]
test eax, eax
jne 0x40a375
push ebx
push edi
add esp, 4
sub ebx, 0xaa40
pop ebx
push esi
and esi, 0xbdeb
call 0x40a34f
add byte [esi], dh
dec edx
cmp bh, byte [0x833c4d50]
les eax, [esi + ebx*2]
push eax
add eax, 0xacda
sub eax, 0x139c5
pop eax
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x19d8], eax
push 0
call dword [ebp - 0x19d8]
mov ecx, dword [ebp - 0x19dc]
mov dword [ebp - 0x798], ecx
jmp 0x40a392
mov edx, dword [ebp - 0x798]
add edx, 1
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x798]
cmp eax, dword [ebp - 0xab8]
jae 0x40a3ee
push eax
push edx
add esp, 4
jmp 0x40a3ab
jmp 0x40a3b3
pop eax
push edx
push edx
add esp, 4
call 0x40a3c8
add byte [ebx], bh
cmp dword [edx + eax*2], edi
xor bh, byte [ebx]
xor cl, byte [edi + 0x45]
add esp, 4
add edx, 0x5809
pop edx
movzx ecx, byte [ebp - 0x3ae]
mov edx, dword [ebp - 0x798]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x798]
mov byte [ecx], al
jmp 0x40a383
mov edx, dword [ebp - 0xab4]
mov dword [ebp - 0x19e0], edx
lea eax, [ebp - 0xce8]
push eax
mov ecx, dword [ebp - 0xce8]
push ecx
mov edx, dword [ebp - 0x1694]
push edx
mov eax, dword [ebp - 0x3e8]
push eax
call dword [ebp - 0x19e0]
test eax, eax
jne 0x40a466
push eax
push edx
add esp, 4
jmp 0x40a42d
jmp 0x40a433
and eax, 0x895a
pop eax
push edi
push ebx
add esp, 4
and edi, 0x12c94
add edi, 0xca87
jmp 0x40a451
pop edi
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x19e4], ecx
push 0
call dword [ebp - 0x19e4]
push ebx
push ecx
add esp, 4
xor ebx, 0x16d17
add ebx, 0x13419
call 0x40a485
add byte [ebp + edi + 0x42], al
aaa
inc esi
inc ecx
dec esp
inc ecx
add esp, 4
pop ebx
push edi
jmp 0x40a491
add edi, 0x1a1
pop edi
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff05ff
pop ecx
pop eax
pop eax
mov cl, cl
or dword [esi + 0x65446c8], eax
add eax, 0x20f3f086
push es
add eax, 0x5050ced
add eax, 0x4d4d4e05
dec edi
push eax
cmp cl, byte [eax + 0x566009c9]
pop ebx
mov cl, cl
or eax, esi
or byte [eax + 0x43], dl
dec eax
xchg dh, al
cmp dword [ebx + 6], 0x8acb5e05
mov ecx, 0x4c0404f3
retf