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

Disassembly:
add esp, 4
or esi, 0xba9c
sub esi, 0x17ca
and esi, 0x1535c
pop esi
cmp dword [ebp - 0xb60], 0
jne 0x4156f8
mov dword [ebp - 0x3cc], 0
jmp 0x41599f
mov edx, dword [ebp - 0xb60]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x6bc], ecx
push ecx
sub ecx, 0x1587f
sub ecx, 0xa4e4
and ecx, 0xc401
pop ecx
push ecx
push eax
add esp, 4
call 0x415732
add byte [ebp + 0x3d], al
dec ebp
xor eax, 0x4133343e
inc ecx
add esp, 4
and ecx, 0x7b17
pop ecx
cmp dword [ebp - 0x6bc], 0
jne 0x415754
mov dword [ebp - 0x3cc], 0
jmp 0x41599f
mov edx, dword [ebp - 0x6bc]
mov dword [ebp - 0x258], edx
push edi
push edx
add esp, 4
and edi, 0x1515f
add edi, 0x98a6
pop edi
push ebx
push ecx
add esp, 4
or ebx, 0xbc1b
add ebx, 0x5330
pop ebx
push eax
add eax, 0x5e5f
add eax, 0x5ed9
pop eax
lea eax, [ebp - 0xca8]
mov dword [ebp - 0x6b8], eax
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x6b4], edx
xor eax, eax
mov word [ebp - 0x118], ax
xor ecx, ecx
mov word [ebp - 0x2c], cx
push edx
push eax
add esp, 4
xor edx, 0x176b6
call 0x4157d5
add byte [ecx + eax*2], dh
xor al, 0x4c
push eax
inc eax
inc eax
aas
add esp, 4
jmp 0x4157dd
call 0x4157ea
add byte [ebx], dh
inc edx
inc ecx
aaa
dec edi
aaa
add esp, 4
pop edx
mov edx, dword [ebp - 0x6b4]
mov ax, word [edx]
mov word [ebp - 0x876], ax
mov ecx, dword [ebp - 0x6b4]
add ecx, 2
mov dword [ebp - 0x6b4], ecx
mov dx, word [ebp - 0x876]
mov word [ebp - 0x118], dx
mov eax, dword [ebp - 0x6b8]
mov cx, word [eax]
mov word [ebp - 0x878], cx
mov edx, dword [ebp - 0x6b8]
add edx, 2
mov dword [ebp - 0x6b8], edx
mov ax, word [ebp - 0x878]
mov word [ebp - 0x2c], ax
push edi
xor edi, 0x1c6
jmp 0x415851
add edi, 0x17cac
jmp 0x41585e
pop edi
push esi
or esi, 0x15261
call 0x415873
add byte [eax + 0x38], dl
dec esi
inc edx
cmp eax, dword [ebx - 0x7d]
les eax, [esi + ebx*2]
movzx ecx, word [ebp - 0x2c]
test ecx, ecx
jne 0x415894
movzx edx, word [ebp - 0x118]
movzx eax, word [ebp - 0x2c]
sub edx, eax
mov dword [ebp - 0xb68], edx
jmp 0x4158ee
movzx ecx, word [ebp - 0x118]
movzx edx, word [ebp - 0x2c]
cmp ecx, edx
je 0x4157bc
movzx eax, word [ebp - 0x118]
xor eax, 0x20
movzx ecx, word [ebp - 0x2c]
cmp eax, ecx
je 0x4157bc
movzx edx, word [ebp - 0x118]
movzx eax, word [ebp - 0x2c]
cmp edx, eax
jge 0x4158d8
mov dword [ebp - 0xb64], 0xffffffff
jmp 0x4158e2
mov dword [ebp - 0xb64], 1
mov ecx, dword [ebp - 0xb64]
mov dword [ebp - 0xb68], ecx
cmp dword [ebp - 0xb68], 0
jne 0x415937
push esi
push edx
add esp, 4
or esi, 0x1ccf
xor esi, 0x10906
sub esi, 0x47e3
xor esi, 0x110b4
pop esi
push ebx
or ebx, 0x154c7
sub ebx, 0x174e4
xor ebx, 0x17016
pop ebx
mov edx, dword [ebp - 0x258]
mov dword [ebp - 0x3cc], edx
jmp 0x41599f
push esi
push edx
add esp, 4
xor esi, 0x13975
pop esi
push ecx
push edx
add esp, 4
add ecx, 0xff28
pop ecx
push ecx
xor ecx, 0x3f04
add ecx, 0x720
pop ecx
push ebx
push eax
add esp, 4
sub ebx, 0x9c18
pop ebx
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax]
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 0x258]
cmp edx, dword [ebp - 0x6bc]
je 0x415995
mov eax, dword [ebp - 0x258]
cmp dword [eax + 0x30], 0
jne 0x415760
mov dword [ebp - 0x3cc], 0
cmp dword [ebp - 0x3cc], 0
jne 0x4159e9
push eax
push ecx
add esp, 4
call 0x4159bd
add byte [ecx + ecx*2 + 0x34], cl
cmp byte [ebx], dh
dec edi
dec ecx
inc esi
xor al, 0x83
les eax, [ecx + eax*4]
call fcn.0041cf81
call 0x4159d6
add byte [esi + 0x39], cl
cmp byte [esi], bh
inc edx
inc edi
cmp eax, 0x4c48348
pop eax
mov dword [ebp - 0x418], 0
jmp 0x416511
push eax
and eax, 0x4747
or eax, 0x7cb2
sub eax, 0x16f2a
call 0x415a0b
add byte [edx + 0x49], cl
cmp eax, 0x46404945
cmp byte [0x5804c483], dh
push edi
push edx
add esp, 4
and edi, 0xe34b
pop edi
mov ecx, dword [ebp - 0x3cc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 0x3dc], 0
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0xb6c], eax
cmp dword [ebp - 0xb6c], 0
jne 0x415a5a
mov ecx, dword [ebp - 0x3dc]
mov dword [ebp - 0x23c], ecx
jmp 0x415d4b
mov edx, dword [ebp - 0xb6c]
mov eax, dword [ebp - 0x1b4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0xb70], eax
jne 0x415a82
mov ecx, dword [ebp - 0x3dc]
mov dword [ebp - 0x23c], ecx
jmp 0x415d4b
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0xb70]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0xb74], edx
cmp dword [ebp - 0xb74], 0
jne 0x415ab4
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x23c], eax
jmp 0x415d4b
mov ecx, dword [ebp - 0x1b4]
add ecx, dword [ebp - 0xb74]
mov dword [ebp - 0x3d0], ecx
jne 0x415ad9
mov edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x23c], edx
jmp 0x415d4b
mov eax, dword [ebp - 0x3d0]
mov ecx, dword [ebp - 0x1b4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0xe38], ecx
mov edx, dword [ebp - 0x3d0]
mov eax, dword [ebp - 0x1b4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0xe3c], eax
mov ecx, dword [ebp - 0x3d0]
mov edx, dword [ebp - 0x1b4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0xe40], edx
mov dword [ebp - 0x3d4], 0
jmp 0x415b33
mov eax, dword [ebp - 0x3d4]
add eax, 1
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x3d0]
mov edx, dword [ebp - 0x3d4]
cmp edx, dword [ecx + 0x18]
jae 0x415d3f
mov eax, dword [ebp - 0x3d4]
mov ecx, dword [ebp - 0xe38]
mov edx, dword [ebp - 0x1b4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x3d4]
mov ecx, dword [ebp - 0xe3c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0xe40]
mov ecx, dword [ebp - 0x1b4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0xe44], ecx
mov dword [ebp - 0xcc], 0
jmp 0x415ba3
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0x3d8]
add eax, dword [ebp - 0xcc]
movsx ecx, byte [eax]
test ecx, ecx
je 0x415c55
mov edx, dword [ebp - 0xcc]
movsx eax, byte [ebp + edx - 0x4c0]
test eax, eax
je 0x415c55
push edi
add edi, 0x1768c
pop edi
push ecx
push edx
add esp, 4
and ecx, 0xd071
pop ecx
push ecx
push edx
add esp, 4
sub ecx, 0xee9b
sub ecx, 0x7392
xor ecx, 0x14560
and ecx, 0x4ae1
pop ecx
mov ecx, dword [ebp - 0x3d8]
add ecx, dword [ebp - 0xcc]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xcc]
movsx ecx, byte [ebp + eax - 0x4c0]
cmp edx, ecx
je 0x415c47
mov edx, dword [ebp - 0x3d8]
add edx, dword [ebp - 0xcc]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0xcc]
movsx edx, byte [ebp + ecx - 0x4c0]
cmp eax, edx
jne 0x415c4e
jmp 0x415b94
jmp 0x415c55
push eax
or eax, 0x16a9b
add eax, 0x17301
xor eax, 0x1003c
and eax, 0xd40b
pop eax
push ebx
push edi
add esp, 4
xor ebx, 0xa962
pop ebx
push ecx
push eax
add esp, 4
or ecx, 0x1c55
pop ecx
mov eax, dword [ebp - 0x3d8]
add eax, dword [ebp - 0xcc]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0xcc]
movsx eax, byte [ebp + edx - 0x4c0]
cmp ecx, eax
jne 0x415cb4
mov dword [ebp - 0x6c0], 0
jmp 0x415d23
push edx
push edx
add esp, 4
jmp 0x415cbf
xor edx, 0xa4ec
call 0x415cd4
add byte [edi], bh
dec eax
dec edx
xor esi, dword [edx]
inc edx
inc ebp
dec eax
dec eax
add esp, 4
pop edx
push ebx
xor ebx, 0x17267
add ebx, 0xc387
pop ebx
mov ecx, dword [ebp - 0x3d8]
add ecx, dword [ebp - 0xcc]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0xcc]
movsx ecx, byte [ebp + eax - 0x4c0]
or ecx, 0x20
cmp edx, ecx
jge 0x415d19
mov dword [ebp - 0x6c0], 0xffffffff
jmp 0x415d23
mov dword [ebp - 0x6c0], 1
cmp dword [ebp - 0x6c0], 0
jne 0x415d3a
mov edx, dword [ebp - 0xe44]
mov dword [ebp - 0x23c], edx
jmp 0x415d4b
jmp 0x415b24
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0
je 0x415e26
push esi
or esi, 0x436c
xor esi, 0x12c1f
or esi, 0x709f
and esi, 0x4622
pop esi
push ebx
push eax
add esp, 4
or ebx, 0xbbe3
xor ebx, 0xa76e
jmp 0x415d89
pop ebx
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0xe48], ecx
push edi
push eax
add esp, 4
or edi, 0x98a0
or edi, 0x10be6
sub edi, 0x10452
and edi, 0x106e3
pop edi
push ebx
and ebx, 0x3f4d
sub ebx, 0x48bf
or ebx, 0xc941
pop ebx
mov edx, dword [ebp - 0xe48]
mov dword [ebp - 0xe4c], edx
lea eax, [ebp - 0xc50]
push eax
call dword [ebp - 0xe4c]
test eax, eax
jne 0x415e26
push ecx
or ecx, 0x8eb7
or ecx, 0x101d3
pop ecx
push ebx
push esi
add esp, 4
and ebx, 0x9295
pop ebx
push ecx
push edx
add esp, 4
xor ecx, 0x3825
or ecx, 0x1feb
sub ecx, 0x14e15
pop ecx
mov dword [ebp - 0x418], 0
jmp 0x416511
push ebx
push edi
add esp, 4
or ebx, 0x546
pop ebx
push esi
sub esi, 0x1304d
or esi, 0xa01
or esi, 0x297
pop esi
push edx
push ebx
add esp, 4
add edx, 0x11fc9
xor edx, 0x62d9
pop edx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0xe50], ecx
mov edx, dword [ebp - 0xe50]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xe54], eax
mov ecx, dword [ebp - 0xe54]
mov dword [ebp - 0xb78], ecx
push eax
or eax, 0xdde3
pop eax
push edi
call 0x415e95
add byte [ebx], dh
dec esp
dec ebp
xor al, 0x38
add esp, 4
pop edi
push ebx
push esi
add esp, 4
jmp 0x415ea6
pop ebx
push edx
push eax
add esp, 4
jmp 0x415eb1
pop edx
cmp dword [ebp - 0xb78], 0
jne 0x415eca
mov dword [ebp - 0x188], 0
jmp 0x416171
mov edx, dword [ebp - 0xb78]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x6cc], ecx
push ebx
push esi
add esp, 4
and ebx, 0xa62
call 0x415ef4
add byte [ebx], dh
xor cl, byte [eax + edx*2 + 0x3f]
xor eax, 0x4c4833c
pop ebx
push eax
push esi
add esp, 4
call 0x415f0a
add byte [ebx + esi], bh
dec ecx
aaa
inc ebx
dec ebx
cmp eax, 0x5804c483
cmp dword [ebp - 0x6cc], 0
jne 0x415f26
mov dword [ebp - 0x188], 0
jmp 0x416171
mov edx, dword [ebp - 0x6cc]
mov dword [ebp - 0x254], edx
push esi
push edx
add esp, 4
and esi, 0x4dc2
xor esi, 0x281b
pop esi
push ebx
push esi
add esp, 4
xor ebx, 0x8960
jmp 0x415f57
and ebx, 0x108bd
or ebx, 0x11f1d
pop ebx
lea eax, [ebp - 0xc50]
mov dword [ebp - 0x6c8], eax
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x6c4], edx
xor eax, eax
mov word [ebp - 0x11c], ax
xor ecx, ecx
mov word [ebp - 0x30], cx
push edi
xor edi, 0x17612
and edi, 0x10cb0
and edi, 0xe3ce
pop edi
push edi
push esi
add esp, 4
xor edi, 0x174df
call 0x415fbc
add byte [ebx], dh
aas
xor cl, byte [edi + 0x3d]
dec ecx
inc esp
cmp al, 0x36
add esp, 4
pop edi
mov edx, dword [ebp - 0x6c4]
mov ax, word [edx]
mov word [ebp - 0x88a], ax
mov ecx, dword [ebp - 0x6c4]
add ecx, 2
mov dword [ebp - 0x6c4], ecx
mov dx, word [ebp - 0x88a]
mov word [ebp - 0x11c], dx
mov eax, dword [ebp - 0x6c8]
mov cx, word [eax]
mov word [ebp - 0x88c], cx
mov edx, dword [ebp - 0x6c8]
add edx, 2
mov dword [ebp - 0x6c8], edx
mov ax, word [ebp - 0x88c]
mov word [ebp - 0x30], ax
push esi
push ecx
add esp, 4
xor esi, 0x177ad
call 0x416030
add byte [edi + 0x43], cl
xor dl, byte [eax + 0x4d]
inc esp
inc ebx
cmp eax, dword [ebx + 0x7e804c4]
add byte [eax], al
add byte [eax], al
dec edx
cmp eax, 0x83494033
les eax, [ecx + eax*4]
into
cmp eax, 0x5e0000fe
movzx ecx, word [ebp - 0x30]
test ecx, ecx
jne 0x416066
movzx edx, word [ebp - 0x11c]
movzx eax, word [ebp - 0x30]
sub edx, eax
mov dword [ebp - 0xb80], edx
jmp 0x4160c0
movzx ecx, word [ebp - 0x11c]
movzx edx, word [ebp - 0x30]
cmp ecx, edx
je 0x415f8e
movzx eax, word [ebp - 0x11c]
xor eax, 0x20
movzx ecx, word [ebp - 0x30]
cmp eax, ecx
je 0x415f8e
movzx edx, word [ebp - 0x11c]
movzx eax, word [ebp - 0x30]
cmp edx, eax
jge 0x4160aa
mov dword [ebp - 0xb7c], 0xffffffff
jmp 0x4160b4
mov dword [ebp - 0xb7c], 1
mov ecx, dword [ebp - 0xb7c]
mov dword [ebp - 0xb80], ecx
cmp dword [ebp - 0xb80], 0
jne 0x416109
push esi
push eax
add esp, 4
add esi, 0x13da4
xor esi, 0xcc46
add esi, 0x171ad
pop esi
push edi
and edi, 0x9b3f
sub edi, 0x756b
xor edi, 0x93aa
sub edi, 0x14a9c
pop edi
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x188], edx
jmp 0x416171
push esi
push ecx
add esp, 4
and esi, 0x1201
or esi, 0x6cde
add esi, 0x17a91
xor esi, 0x13a1a
pop esi
push eax
or eax, 0x141fd
xor eax, 0xbf22
or eax, 0xe487
pop eax
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x254]
cmp edx, dword [ebp - 0x6cc]
je 0x416167
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0x30], 0
jne 0x415f32
mov dword [ebp - 0x188], 0
push edi
push esi
add esp, 4
add edi, 0x146c0
or edi, 0x181a1
add edi, 0x168dd
and edi, 0xc130
pop edi
push esi
xor esi, 0xcea
add esi, 0x160da
xor esi, 0x185ca
pop esi
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x1b8], edx
push ebx
push edx
add esp, 4
or ebx, 0x7f76
call 0x4161cc
add byte [ecx + ecx*2], dh
dec esp
cmp cl, byte [edi + 0x39]
xor eax, 0x4c48337
pop ebx
push edi
push ebx
add esp, 4
jmp 0x4161dd
xor edi, 0x59ca
pop edi
mov dword [ebp - 0x3ec], 0
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xb84], eax
cmp dword [ebp - 0xb84], 0
jne 0x416214
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], ecx
jmp 0x416505
mov edx, dword [ebp - 0xb84]
mov eax, dword [ebp - 0x1b8]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0xb88], eax
jne 0x41623c
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], ecx
jmp 0x416505
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0xb88]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0xb8c], edx
cmp dword [ebp - 0xb8c], 0
jne 0x41626e
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], eax
jmp 0x416505
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [ebp - 0xb8c]
mov dword [ebp - 0x3e0], ecx
jne 0x416293
mov edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], edx
jmp 0x416505
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0xe58], ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x1b8]
add eax, dword [edx + 0x24]
mov dword [ebp - 0xe5c], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x1b8]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0xe60], edx
mov dword [ebp - 0x3e4], 0
jmp 0x4162ed
mov eax, dword [ebp - 0x3e4]
add eax, 1
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x3e4]
cmp edx, dword [ecx + 0x18]
jae 0x4164f9
mov eax, dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0xe58]
mov edx, dword [ebp - 0x1b8]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x3e8], edx
mov eax, dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0xe5c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0xe60]
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0xe64], ecx
mov dword [ebp - 0xc8], 0
jmp 0x41635d
mov edx, dword [ebp - 0xc8]
add edx, 1
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0x3e8]
add eax, dword [ebp - 0xc8]
movsx ecx, byte [eax]
test ecx, ecx
je 0x41640f
mov edx, dword [ebp - 0xc8]
movsx eax, byte [ebp + edx - 0x494]
test eax, eax
je 0x41640f
push edi
push ecx
add esp, 4
and edi, 0x15d63
pop edi
push eax
push ecx
add esp, 4
xor eax, 0x10205
and eax, 0xee17
add eax, 0x153a7
and eax, 0x997a
pop eax
push edi
sub edi, 0x2eea
pop edi
mov ecx, dword [ebp - 0x3e8]
add ecx, dword [ebp - 0xc8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc8]
movsx ecx, byte [ebp + eax - 0x494]
cmp edx, ecx
je 0x416401
mov edx, dword [ebp - 0x3e8]
add edx, dword [ebp - 0xc8]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0xc8]
movsx edx, byte [ebp + ecx - 0x494]
cmp eax, edx
jne 0x416408
jmp 0x41634e
jmp 0x41640f
push ebx
push edx
add esp, 4
or ebx, 0x511d
jmp 0x41641f
jmp 0x416427
pop ebx
push ebx
xor ebx, 0x18045
sub ebx, 0x112f4
xor ebx, 0x12553
jmp 0x416440
pop ebx
mov eax, dword [ebp - 0x3e8]
add eax, dword [ebp - 0xc8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0xc8]
movsx eax, byte [ebp + edx - 0x494]
cmp ecx, eax
jne 0x41646e
mov dword [ebp - 0x6d0], 0
jmp 0x4164dd
push eax
or eax, 0xd7a3
sub eax, 0xeed7
and eax, 0x17022
pop eax
push esi
push eax
add esp, 4
or esi, 0x10277
or esi, 0x86b9
sub esi, 0x139bb
add esi, 0xb2c6
pop esi
mov ecx, dword [ebp - 0x3e8]
add ecx, dword [ebp - 0xc8]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0xc8]
movsx ecx, byte [ebp + eax - 0x494]
or ecx, 0x20
cmp edx, ecx
jge 0x4164d3
mov dword [ebp - 0x6d0], 0xffffffff
jmp 0x4164dd
mov dword [ebp - 0x6d0], 1
cmp dword [ebp - 0x6d0], 0
jne 0x4164f4
mov edx, dword [ebp - 0xe64]
mov dword [ebp - 0x250], edx
jmp 0x416505
jmp 0x4162de
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x250]
mov dword [ebp - 0x418], ecx
push edi
push ecx
add esp, 4
xor edi, 0x9e28
call 0x416528
add byte [ebp + eax*2 + 0x39], al
aaa
cmp byte [ebx + eax*4 - 0x3c], cl
add al, 0x5f
push edx
jmp 0x416536
and edx, 0x11115
or edx, 0x22fe
pop edx
mov edx, dword [ebp - 0x228]
add edx, 0xe
mov dword [ebp - 0xeb0], edx
push ecx
jmp 0x41655a
pop ecx
push esi
push edi
add esp, 4
add esi, 0x1311
pop esi
push ecx
and ecx, 0x1220c
or ecx, 0x28ab
sub ecx, 0xeddc
jmp 0x416583
pop ecx
cmp dword [ebp - 0x228], 0
je 0x416596
cmp dword [ebp - 0x614], 0
jne 0x4165dc
push ebx
push edx
add esp, 4
call 0x4165a8
add byte [edx], bh
cmp eax, 0x3a464b39
inc ebp
add esp, 4
xor ebx, 0x4686
call 0x4165bf
add byte [eax + 0x47], cl
dec esi
cmp dh, byte [edx]
inc esp
cmp byte [edi], dh
add esp, 4
jmp 0x4165c7
pop ebx
mov eax, dword [ebp - 0x418]
mov dword [ebp - 0x1068], eax
push 0
call dword [ebp - 0x1068]
mov dword [ebp - 0x1230], 0xa
push edx
xor edx, 0x1cc6
add edx, 0x1407a
sub edx, 0x11efc
pop edx
push eax
push edx
add esp, 4
and eax, 0xae7
add eax, 0x11a9b
or eax, 0x4030
add eax, 0xf757
pop eax
mov ecx, dword [ebp - 0x228]
mov dl, byte [ecx + 0xa]
mov byte [ebp - 0x1fd], dl
mov eax, dword [ebp - 0x614]
sub eax, dword [ebp - 0x228]
mov dword [ebp - 0xc0c], eax
mov dword [ebp - 0x700], 0
push esi
push edi
add esp, 4
add esi, 0x7475
jmp 0x416656
and esi, 0xdde5
add esi, 0x1346c
pop esi
push esi
push ebx
add esp, 4
and esi, 0x74d3
and esi, 0xaf1b
pop esi
mov byte [ebp - 0x598], 0x56
mov byte [ebp - 0x597], 0x69
mov byte [ebp - 0x596], 0x72
mov byte [ebp - 0x595], 0x74
mov byte [ebp - 0x594], 0x75
mov byte [ebp - 0x593], 0x61
mov byte [ebp - 0x592], 0x6c
mov byte [ebp - 0x591], 0x50
mov byte [ebp - 0x590], 0x72
mov byte [ebp - 0x58f], 0x6f
mov byte [ebp - 0x58e], 0x74
mov byte [ebp - 0x58d], 0x65
mov byte [ebp - 0x58c], 0x63
mov byte [ebp - 0x58b], 0x74
mov byte [ebp - 0x58a], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0xe68], ecx
mov edx, dword [ebp - 0xe68]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xe6c], eax
mov ecx, dword [ebp - 0xe6c]
mov dword [ebp - 0xb90], ecx
push ecx
push edi
add esp, 4
call 0x416719
add byte [edi], dh
dec edx
dec eax
dec eax
cmp eax, dword [esi + 0x37]
push eax
add esp, 4
jmp 0x416722
pop ecx
push ecx
push ebx
add esp, 4
jmp 0x416731
sub ecx, 0x3977
pop ecx
cmp dword [ebp - 0xb90], 0
jne 0x416750
mov dword [ebp - 0x18c], 0
jmp 0x4169f7
mov edx, dword [ebp - 0xb90]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x6dc], ecx
push edx
push esi
add esp, 4
jmp 0x41676d
and edx, 0x71a3
and edx, 0xf770
and edx, 0x20db
pop edx
push edi
or edi, 0x11119
sub edi, 0x9f7
or edi, 0x167fe
pop edi
cmp dword [ebp - 0x6dc], 0
jne 0x4167ac
mov dword [ebp - 0x18c], 0
jmp 0x4169f7
mov edx, dword [ebp - 0x6dc]
mov dword [ebp - 0x24c], edx
push ebx
call 0x4167c8
add byte [esi], dh
dec eax
inc ebp
cmp al, 0x4e
inc ecx
inc esp
inc ebx
dec eax
add esp, 4
call 0x4167d8
add byte [edx + eax*2 + 0x50], al
inc edx
inc edx
inc ecx
inc ebp
add esp, 4
xor ebx, 0x13043
pop ebx
push ebx
and ebx, 0xe0b
pop ebx
lea eax, [ebp - 0xc50]
mov dword [ebp - 0x6d8], eax
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x6d4], edx
xor eax, eax
mov word [ebp - 0x120], ax
xor ecx, ecx
mov word [ebp - 0x34], cx
push edi
add edi, 0x96df
pop edi
push esi
and esi, 0x8e2d
call 0x416830
add byte [ecx + 0x48], cl
cmp byte [ecx + 0x32], cl
xor al, 0x3d
add esp, 4
pop esi
push ecx
push eax
add esp, 4
or ecx, 0x160d4
sub ecx, 0x1656
pop ecx
mov edx, dword [ebp - 0x6d4]
mov ax, word [edx]
mov word [ebp - 0x88e], ax
mov ecx, dword [ebp - 0x6d4]
add ecx, 2
mov dword [ebp - 0x6d4], ecx
mov dx, word [ebp - 0x88e]
mov word [ebp - 0x120], dx
mov eax, dword [ebp - 0x6d8]
mov cx, word [eax]
mov word [ebp - 0x890], cx
mov edx, dword [ebp - 0x6d8]
add edx, 2
mov dword [ebp - 0x6d8], edx
mov ax, word [ebp - 0x890]
mov word [ebp - 0x34], ax
push edx
push ebx
add esp, 4
and edx, 0x8884
pop edx
push ecx
push edx
add esp, 4
jmp 0x4168b6
pop ecx
push esi
push edi
add esp, 4
jmp 0x4168c2
or esi, 0xb658
add esi, 0x14a77
pop esi
movzx ecx, word [ebp - 0x34]
test ecx, ecx
jne 0x4168ec
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x34]
sub edx, eax
mov dword [ebp - 0xb98], edx
jmp 0x416946
movzx ecx, word [ebp - 0x120]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
je 0x416814
movzx eax, word [ebp - 0x120]
xor eax, 0x20
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x416814
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x34]
cmp edx, eax
jge 0x416930
mov dword [ebp - 0xb94], 0xffffffff
jmp 0x41693a
mov dword [ebp - 0xb94], 1
mov ecx, dword [ebp - 0xb94]
mov dword [ebp - 0xb98], ecx
cmp dword [ebp - 0xb98], 0
jne 0x41698f
push ecx
push edi
add esp, 4
sub ecx, 0x12c6a
jmp 0x416963
jmp 0x41696c
pop ecx
push eax
push ebx
add esp, 4
sub eax, 0xd87c
jmp 0x416980
pop eax
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x18c], edx
jmp 0x4169f7
push esi
or esi, 0x852e
add esi, 0x6b0c
pop esi
push esi
push esi
add esp, 4
jmp 0x4169a7
pop esi
push edi
jmp 0x4169ae
or edi, 0xd008
pop edi
push ebx
push edx
add esp, 4
sub ebx, 0xc9
pop ebx
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax]
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x24c]
cmp edx, dword [ebp - 0x6dc]
je 0x4169ed
mov eax, dword [ebp - 0x24c]
cmp dword [eax + 0x30], 0
jne 0x4167b8
mov dword [ebp - 0x18c], 0
push eax
and eax, 0xc471
add eax, 0x2d46
and eax, 0x5da1
and eax, 0x1533b
pop eax
push ecx
push ecx
add esp, 4
sub ecx, 0x832a
xor ecx, 0xb852
sub ecx, 0x142b0
pop ecx
cmp dword [ebp - 0x18c], 0
jne 0x4172fc
mov ecx, 0x6b
mov word [ebp - 0xcc4], cx
mov edx, 0x65
mov word [ebp - 0xcc2], dx
mov eax, 0x72
mov word [ebp - 0xcc0], ax
mov ecx, 0x6e
mov word [ebp - 0xcbe], cx
mov edx, 0x65
mov word [ebp - 0xcbc], dx
mov eax, 0x6c
mov word [ebp - 0xcba], ax
mov ecx, 0x33
mov word [ebp - 0xcb8], cx
mov edx, 0x32
mov word [ebp - 0xcb6], dx
mov eax, 0x2e
mov word [ebp - 0xcb4], ax
mov ecx, 0x64
mov word [ebp - 0xcb2], cx
mov edx, 0x6c
mov word [ebp - 0xcb0], dx
mov eax, 0x6c
mov word [ebp - 0xcae], ax
xor ecx, ecx
mov word [ebp - 0xcac], cx
push esi
push esi
add esp, 4
or esi, 0x12f5b
or esi, 0x2670
or esi, 0x155f3
or esi, 0x8ff6
pop esi
push eax
or eax, 0xec58
add eax, 0x1255c
add eax, 0x125f6
pop eax
mov byte [ebp - 0x4d0], 0x4c
mov byte [ebp - 0x4cf], 0x6f
mov byte [ebp - 0x4ce], 0x61
mov byte [ebp - 0x4cd], 0x64
mov byte [ebp - 0x4cc], 0x4c
mov byte [ebp - 0x4cb], 0x69
mov byte [ebp - 0x4ca], 0x62
mov byte [ebp - 0x4c9], 0x72
mov byte [ebp - 0x4c8], 0x61
mov byte [ebp - 0x4c7], 0x72
mov byte [ebp - 0x4c6], 0x79
mov byte [ebp - 0x4c5], 0x57
mov byte [ebp - 0x4c4], 0
mov edx, dword fs:[0x18]
mov dword [ebp - 0xe70], edx
mov eax, dword [ebp - 0xe70]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xe74], ecx
mov edx, dword [ebp - 0xe74]
mov dword [ebp - 0xb9c], edx
push eax
add eax, 0x2739
sub eax, 0x147a6
or eax, 0xe99c
pop eax
push esi
push ecx
add esp, 4
xor esi, 0x426e
sub esi, 0x16ffe
sub esi, 0xd45
add esi, 0x13e91
pop esi
cmp dword [ebp - 0xb9c], 0
jne 0x416bce
mov dword [ebp - 0x3f0], 0
jmp 0x416e75
mov eax, dword [ebp - 0xb9c]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x6e8], edx
push ebx
push eax
add esp, 4
or ebx, 0x115b
or ebx, 0x156cb
and ebx, 0x17ff3
and ebx, 0x25df
pop ebx
push edx
sub edx, 0x15ddc
sub edx, 0xa362
or edx, 0x25c1
pop edx
cmp dword [ebp - 0x6e8], 0
jne 0x416c2a
mov dword [ebp - 0x3f0], 0
jmp 0x416e75
mov eax, dword [ebp - 0x6e8]
mov dword [ebp - 0x248], eax
push eax
push esi
add esp, 4
and eax, 0xcaa2
xor eax, 0x12058
xor eax, 0x92d4
and eax, 0x1c1b
pop eax
push esi
or esi, 0x13082
add esi, 0x1606c
xor esi, 0x1620c
pop esi
lea ecx, [ebp - 0xcc4]
mov dword [ebp - 0x6e4], ecx
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x6e0], eax
xor ecx, ecx
mov word [ebp - 0x124], cx
xor edx, edx
mov word [ebp - 0x38], dx
push esi
call 0x416ca1
add byte [eax + 0x3f], dl
cmp byte [edx + 0x33], cl
inc esp
dec edx
add esp, 4
call 0x416cb2
add byte [edi + 0x38], cl
inc ebx
cmp al, 0x3b
dec edx
inc edx
aaa
add esp, 4
pop esi
push edi
and edi, 0xe75d
or edi, 0x791a
pop edi
mov eax, dword [ebp - 0x6e0]
mov cx, word [eax]
mov word [ebp - 0x892], cx
mov edx, dword [ebp - 0x6e0]
add edx, 2
mov dword [ebp - 0x6e0], edx
mov ax, word [ebp - 0x892]
mov word [ebp - 0x124], ax
mov ecx, dword [ebp - 0x6e4]
mov dx, word [ecx]
mov word [ebp - 0x894], dx
mov eax, dword [ebp - 0x6e4]
add eax, 2
mov dword [ebp - 0x6e4], eax
mov cx, word [ebp - 0x894]
mov word [ebp - 0x38], cx
push ebx
call 0x416d29
add byte [0x50434941], bh
cmp byte [ebx - 0x7d], cl
les eax, [ebx + ebx*2]
push ecx
push ebx
add esp, 4
and ecx, 0x12a8f
xor ecx, 0x15a5b
jmp 0x416d45
jmp 0x416d4c
pop ecx
movzx edx, word [ebp - 0x38]
test edx, edx
jne 0x416d6a
movzx eax, word [ebp - 0x124]
movzx ecx, word [ebp - 0x38]
sub eax, ecx
mov dword [ebp - 0xbe4], eax
jmp 0x416dc4
movzx edx, word [ebp - 0x124]
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x416c92
movzx ecx, word [ebp - 0x124]
xor ecx, 0x20
movzx edx, word [ebp - 0x38]
cmp ecx, edx
je 0x416c92
movzx eax, word [ebp - 0x124]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
jge 0x416dae
mov dword [ebp - 0xba0], 0xffffffff
jmp 0x416db8
mov dword [ebp - 0xba0], 1
mov edx, dword [ebp - 0xba0]
mov dword [ebp - 0xbe4], edx
cmp dword [ebp - 0xbe4], 0
jne 0x416e0d
push esi
sub esi, 0x177cd
or esi, 0x10afc
pop esi
push eax
push edx
add esp, 4
sub eax, 0x717f
or eax, 0x15c02
pop eax
push eax
push edx
add esp, 4
or eax, 0x11785
sub eax, 0x11d99
pop eax
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x3f0], eax
jmp 0x416e75
push edi
xor edi, 0xd25f
pop edi
push eax
push ecx
add esp, 4
or eax, 0xfb1d
add eax, 0x1c83
pop eax
push edi
add edi, 0x744f
call 0x416e3b
add byte [edi], bh
inc ebp
cmp byte [ebx + 0x45], cl
dec edx
dec edi
add esp, 4
pop edi
mov ecx, dword [ebp - 0x248]
mov edx, dword [ecx]
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x6e8]
je 0x416e6b
mov ecx, dword [ebp - 0x248]
cmp dword [ecx + 0x30], 0
jne 0x416c36
mov dword [ebp - 0x3f0], 0
cmp dword [ebp - 0x3f0], 0
jne 0x416ebf
push edx
push eax
add esp, 4
xor edx, 0x6a27
add edx, 0x119
sub edx, 0x2093
add edx, 0xca81
pop edx
push ecx
add ecx, 0x7417
or ecx, 0x9830
or ecx, 0x9bb2
pop ecx
mov dword [ebp - 0x618], 0
jmp 0x4179e7
push esi
add esi, 0x12c06
sub esi, 0xaa60
sub esi, 0x7d49
xor esi, 0x10178
pop esi
push edx
call 0x416ee7
add byte [ecx + edi], dh
dec ebx
cmp eax, 0x834c4038
les eax, [ecx + eax*4]
ret 0xcaa8
push ecx
call 0x417309
add byte [ebx], dh
xor edi, dword [esp + eax*2]
dec eax
xor eax, dword [ebx + 0x8e804c4]
add byte [eax], al
add byte [eax], al
dec esp
cmp byte [eax], bh
inc edx
dec eax
inc esp
inc edi
add esp, 4
call 0x41732a
add byte [edx], dh
inc edi
inc esp
dec ebx
inc esi
dec edi
inc esi
aaa
add esp, 4
pop ecx
mov edx, dword fs:[0x18]
mov dword [ebp - 0xe90], edx
mov eax, dword [ebp - 0xe90]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xe94], ecx
mov edx, dword [ebp - 0xe94]
mov dword [ebp - 0xbf4], edx
push ebx
push ebx
add esp, 4
or ebx, 0x4e2f
xor ebx, 0x978b
and ebx, 0x11998
pop ebx
push eax
push eax
add esp, 4
xor eax, 0xbf95
xor eax, 0x15d17
jmp 0x417387
pop eax
cmp dword [ebp - 0xbf4], 0
jne 0x4173a0
mov dword [ebp - 0x18c], 0
jmp 0x417647
mov eax, dword [ebp - 0xbf4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x6f8], edx
push esi
push eax
add esp, 4
xor esi, 0xeed8
sub esi, 0x16467
or esi, 0x16695
pop esi
push ecx
call 0x4173da
add byte [eax], bh
dec ebx
dec ecx
dec ebp
inc edi
dec ecx
dec ebx
cmp esi, dword [edi]
add esp, 4
or ecx, 0xb72e
pop ecx
cmp dword [ebp - 0x6f8], 0
jne 0x4173fc
mov dword [ebp - 0x18c], 0
jmp 0x417647
mov eax, dword [ebp - 0x6f8]
mov dword [ebp - 0x244], eax
push esi
push edx
add esp, 4
add esi, 0x9360
or esi, 0x2fc1
or esi, 0xecae
pop esi
push ecx
or ecx, 0x12484
or ecx, 0xbc61
pop ecx
push ebx
push ebx
add esp, 4
xor ebx, 0x5295
pop ebx
lea ecx, [ebp - 0xc50]
mov dword [ebp - 0x6f4], ecx
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x6f0], eax
xor ecx, ecx
mov word [ebp - 0x128], cx
xor edx, edx
mov word [ebp - 0x3c], dx
push ecx
push eax
add esp, 4
call 0x417477
add byte [edx + 0x4b], cl
cmp byte [ebx], dh
dec eax
inc ebp
xor cl, byte [ebx - 0x7d]
les eax, [ecx + eax*4]
jmp 0x42a838
push edx
and edx, 0x97f
and edx, 0x12daa
sub edx, 0x713a
add edx, 0x16baf
pop edx
push edi
push eax
add esp, 4
sub edi, 0x1843d
pop edi
push ebx
push esi
add esp, 4
and ebx, 0xadc3
pop ebx
mov edx, dword [ebp - 0x18c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x1c0], eax
push eax
push esi
add esp, 4
sub eax, 0xad72
add eax, 0x7e91
jmp 0x41769f
pop eax
push ebx
push eax
add esp, 4
add ebx, 0x14dee
and ebx, 0xea01
jmp 0x4176b9
pop ebx
mov dword [ebp - 0x410], 0
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0xc00], ecx
cmp dword [ebp - 0xc00], 0
jne 0x4176ea
mov edx, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], edx
jmp 0x4179db
mov eax, dword [ebp - 0xc00]
mov ecx, dword [ebp - 0x1c0]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0xc04], ecx
jne 0x417712
mov edx, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], edx
jmp 0x4179db
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0xc04]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0xc08], eax
cmp dword [ebp - 0xc08], 0
jne 0x417744
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], ecx
jmp 0x4179db
mov edx, dword [ebp - 0x1c0]
add edx, dword [ebp - 0xc08]
mov dword [ebp - 0x404], edx
jne 0x417769
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], eax
jmp 0x4179db
mov ecx, dword [ebp - 0x404]
mov edx, dword [ebp - 0x1c0]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0xe98], edx
mov eax, dword [ebp - 0x404]
mov ecx, dword [ebp - 0x1c0]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0xe9c], ecx
mov edx, dword [ebp - 0x404]
mov eax, dword [ebp - 0x1c0]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0xea0], eax
mov dword [ebp - 0x408], 0
jmp 0x4177c3
mov ecx, dword [ebp - 0x408]
add ecx, 1
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x404]
mov eax, dword [ebp - 0x408]
cmp eax, dword [edx + 0x18]
jae 0x4179cf
mov ecx, dword [ebp - 0x408]
mov edx, dword [ebp - 0xe98]
mov eax, dword [ebp - 0x1c0]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x408]
mov edx, dword [ebp - 0xe9c]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0xea0]
mov edx, dword [ebp - 0x1c0]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0xea4], edx
mov dword [ebp - 0xc0], 0
jmp 0x417833
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0x40c]
add ecx, dword [ebp - 0xc0]
movsx edx, byte [ecx]
test edx, edx
je 0x4178e5
mov eax, dword [ebp - 0xc0]
movsx ecx, byte [ebp + eax - 0x598]
test ecx, ecx
je 0x4178e5
push ecx
push eax
add esp, 4
or ecx, 0x15217
and ecx, 0x12845
or ecx, 0x148f
pop ecx
push edx
xor edx, 0xe140
pop edx
push eax
push edi
add esp, 4
xor eax, 0xf90e
jmp 0x417891
pop eax
mov edx, dword [ebp - 0x40c]
add edx, dword [ebp - 0xc0]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0xc0]
movsx edx, byte [ebp + ecx - 0x598]
cmp eax, edx
je 0x4178d7
mov eax, dword [ebp - 0x40c]
add eax, dword [ebp - 0xc0]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0xc0]
movsx eax, byte [ebp + edx - 0x598]
cmp ecx, eax
jne 0x4178de
jmp 0x417824
jmp 0x4178e5
push esi
push edi
add esp, 4
jmp 0x4178ef
call 0x4178ff
add byte [edi + 0x49], cl
push eax
cmp al, 0x3d
xor al, 0x40
cmp al, 0x37
dec ecx
add esp, 4
xor esi, 0x60fd
sub esi, 0x165a2
pop esi
push ebx
xor ebx, 0xd68b
pop ebx
mov ecx, dword [ebp - 0x40c]
add ecx, dword [ebp - 0xc0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc0]
movsx ecx, byte [ebp + eax - 0x598]
cmp edx, ecx
jne 0x417944
mov dword [ebp - 0x6fc], 0
jmp 0x4179b3
push eax
push edi
add esp, 4
or eax, 0xe132
pop eax
push eax
call 0x41795e
add byte [ebx + 0x3b], al
dec ebx
cmp edx, dword [eax + 0x4b]
aaa
add esp, 4
or eax, 0x4011
pop eax
push ecx
and ecx, 0x161f1
sub ecx, 0x8504
pop ecx
mov edx, dword [ebp - 0x40c]
add edx, dword [ebp - 0xc0]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0xc0]
movsx edx, byte [ebp + ecx - 0x598]
or edx, 0x20
cmp eax, edx
jge 0x4179a9
mov dword [ebp - 0x6fc], 0xffffffff
jmp 0x4179b3
mov dword [ebp - 0x6fc], 1
cmp dword [ebp - 0x6fc], 0
jne 0x4179ca
mov eax, dword [ebp - 0xea4]
mov dword [ebp - 0x2ec], eax
jmp 0x4179db
jmp 0x4177b4
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], ecx
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x618], edx
push edi
push edx
add esp, 4
add edi, 0x11f00
and edi, 0xa600
pop edi
push esi
push edx
add esp, 4
add esi, 0x545c
xor esi, 0xc100
or esi, 0x133af
jmp 0x417a18
pop esi
mov eax, dword [ebp - 0x618]
mov dword [ebp - 0xea8], eax
lea ecx, [ebp - 0x700]
push ecx
push 0x40
mov edx, dword [ebp - 0xc0c]
push edx
mov eax, dword [ebp - 0x228]
push eax
call dword [ebp - 0xea8]
test eax, eax
jne 0x417a8c
push ebx
push eax
add esp, 4
sub ebx, 0x10db8
sub ebx, 0x26
call 0x417a63
add byte [eax + ecx*2 + 0x49], cl
dec ebx
aas
cmp eax, 0xe804c483
or dword [eax], eax
add byte [eax], al
add byte [ecx], bh
dec edi
dec esp
aas
xor eax, dword [edx + 0x44]
dec edi
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x418]
mov dword [ebp - 0xeac], ecx
push 0
call dword [ebp - 0xeac]
mov edx, dword [ebp - 0xeb0]
mov dword [ebp - 0x414], edx
jmp 0x417aa9
mov eax, dword [ebp - 0x414]
add eax, 1
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x414]
cmp ecx, dword [ebp - 0x614]
jae 0x417b05
push edx
push esi
add esp, 4
and edx, 0xf34e
xor edx, 0x15491
xor edx, 0x27c2
pop edx
push edx
and edx, 0x13df6
xor edx, 0xcf73
pop edx
push edx
push edi
add esp, 4
xor edx, 0x125f3
pop edx
movzx edx, byte [ebp - 0x1fd]
mov eax, dword [ebp - 0x414]
movsx ecx, byte [eax]
sub ecx, edx
mov edx, dword [ebp - 0x414]
mov byte [edx], cl
jmp 0x417a9a
mov eax, dword [ebp - 0x618]
mov dword [ebp - 0xeb4], eax
lea ecx, [ebp - 0x700]
push ecx
mov edx, dword [ebp - 0x700]
push edx
mov eax, dword [ebp - 0xc0c]
push eax
mov ecx, dword [ebp - 0x228]
push ecx
call dword [ebp - 0xeb4]
test eax, eax
jne 0x417b7d
push edx
sub edx, 0xd34f
sub edx, 0xaac9
pop edx
push ecx
jmp 0x417b4f
jmp 0x417b56
xor ecx, 0x13019
pop ecx
push edx
push esi
add esp, 4
xor edx, 0x8fc3
pop edx
mov edx, dword [ebp - 0x418]
mov dword [ebp - 0xeb8], edx
push 0
call dword [ebp - 0xeb8]
push esi
push esi
add esp, 4
add esi, 0xe3b6
sub esi, 0x1d2
pop esi
push ecx
and ecx, 0x10218
jmp 0x417b9d
pop ecx
push esi
push edx
add esp, 4
or esi, 0x7140
jmp 0x417bae
pop esi
push ecx
mov ecx, 0x10101010
pop ecx
push ecx
mov ecx, 0xffff05ff
pop ecx
push edi
lock or cl, byte [ebp + 0x39]
aas
cmp eax, 0x98e7864d
lea eax, [0xd9e78605]
mov eax, dword [0x5c5f0505]
xchg ah, ch
jecxz 0x417be4
add eax, 0x450cf005
cmp dword [edx + 0x46], ecx
cmp eax, 0xec865046
clc
or al, 5
add eax, 0x7de0cc86
push es
add eax, 0x570bd64
add eax, 0x8a8e6b05
jge 0x417bf9
add al, 4
mov esi, 0x505056a
imul ecx, dword [esi + 0x4007f92], 4
mov edi, 0x5050577
imul ecx, dword [esi + 0x400819a], 4
mov ebp, 0x5050573
imul ecx, dword [esi + 0x400838a], 4
mov esi, 0x505056a
imul ecx, dword [esi + 0x4008592], 4
mov edi, 0x5050571
imul ecx, dword [esi + 0x400879a], 4
mov ebp, 0x5050538
imul ecx, dword [esi + 0x400898a], 4
mov esi, 0x5050537
imul ecx, dword [esi + 0x4008b92], 4
mov edi, 0x5050533
imul ecx, dword [esi + 0x4008d9a], 4
mov ebp, 0x5050569
imul ecx, dword [esi + 0x4008f8a], 4
mov esi, 0x5050571
imul ecx, dword [esi + 0x4009192], 4
mov edi, 0x5050571
imul ecx, dword [esi + 0x400939a], 4
cmp ch, al
imul ecx, dword [esi + 0x400958a], 4
push edi
xchg bh, al
scasd eax, dword es:[edi]
and eax, 0x565f0505
xchg dh, ch
sbb ah, byte [edi + 6]
add eax, 0xfed5b5e
add eax, 0x47050505
inc ebp
dec ebx
aaa
dec edx
dec ebx
push ecx
dec esp
push edx
mov cl, cl
or dword [ebx + 0x5b], esp
lock or dword [edi], esi
push ebp
dec esi
dec edx
xchg bl, dh
mov al, byte [0x63050564]
retf
call fcn.0040b698
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
call fcn.0040b470
mov eax, dword [ebp + 8]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42acdf
lea eax, [ebp - 0x10]
call fcn.0040a1c8
ret