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

Disassembly:
push ecx
push ecx
add esp, 4
and ecx, 0x12dcd
pop ecx
push edi
add edi, 0x4189
or edi, 0x13f82
sub edi, 0x1da2
call 0x406131
add byte [esi + 0x37], cl
inc esi
inc esi
push eax
cmp eax, dword [edx + 0x4f]
add esp, 4
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 esi
and esi, 0x632a
sub esi, 0x9672
jmp 0x406175
pop esi
push edx
push edi
add esp, 4
add edx, 0x3fa4
and edx, 0x11ea9
sub edx, 0xdb9c
sub edx, 0xdef9
pop edx
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 edx
or edx, 0x165e
pop edx
push edi
add edi, 0x1d7c
xor edi, 0x125c
jmp 0x40620a
jmp 0x406212
pop edi
push esi
push ecx
add esp, 4
jmp 0x40621f
pop esi
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x406243
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x4062a6
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x406162
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x406162
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x406290
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x40629a
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x4062ef
push eax
push ecx
add esp, 4
jmp 0x4062bb
pop eax
push ecx
call 0x4062c9
add byte [ecx + 0x3e], al
dec esp
aas
inc ebx
add esp, 4
jmp 0x4062d4
add ecx, 0x9979
or ecx, 0x14c8a
pop ecx
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x406357
push esi
push edi
add esp, 4
xor esi, 0x4146
add esi, 0x1332e
jmp 0x406306
sub esi, 0xee31
pop esi
push edi
or edi, 0xd58b
add edi, 0xd955
add edi, 0x11357
pop edi
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 0x40634d
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x406103
mov dword [ebp - 0x6ec], 0
push edi
push edi
add esp, 4
xor edi, 0x3e1c
xor edi, 0x152d4
and edi, 0x15f2d
pop edi
push ecx
push ebx
add esp, 4
sub ecx, 0x132a
pop ecx
push edx
or edx, 0xa16a
or edx, 0x43b9
pop edx
cmp dword [ebp - 0x6ec], 0
jne 0x4063d3
push eax
push ecx
add esp, 4
or eax, 0x13a4
pop eax
push eax
push ebx
add esp, 4
and eax, 0x12684
xor eax, 0x5a14
pop eax
push eax
push edx
add esp, 4
jmp 0x4063bd
add eax, 0x17f4c
pop eax
mov dword [ebp - 0x738], 0
jmp 0x406efa
push ebx
push esi
add esp, 4
add ebx, 0x17cd
add ebx, 0xdbcc
xor ebx, 0xd5c
pop ebx
push eax
add eax, 0x17b3b
add eax, 0x5a35
and eax, 0x1644f
add eax, 0xdc90
pop eax
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 0x406444
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x406735
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x40646c
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x406735
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 0x40649e
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x406735
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x4064c3
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x406735
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 0x40651d
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 0x406729
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 0x40658d
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 0x40663f
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x40663f
push ecx
add ecx, 0x6e5d
and ecx, 0x16167
or ecx, 0xc52b
add ecx, 0x166d2
pop ecx
push edx
push eax
add esp, 4
add edx, 0x25aa
xor edx, 0x16a86
or edx, 0x11572
pop edx
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 0x406631
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 0x406638
jmp 0x40657e
jmp 0x40663f
push eax
and eax, 0xab1b
pop eax
push ebx
push ecx
add esp, 4
sub ebx, 0x6dad
pop ebx
push edi
or edi, 0x4049
jmp 0x406662
pop edi
push ebx
and ebx, 0x778e
add ebx, 0xc2b6
pop ebx
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 0x40669e
mov dword [ebp - 0xc30], 0
jmp 0x40670d
push ecx
push edx
add esp, 4
call 0x4066b0
add byte [esi], dh
dec ebp
xor eax, 0x404c3941
add esp, 4
pop ecx
push esi
push edi
add esp, 4
call 0x4066c6
add byte [ebx + 0x4d], cl
push eax
dec ecx
inc edi
inc eax
dec ecx
add esp, 4
or esi, 0xae54
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 0x406703
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x40670d
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x406724
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x406735
jmp 0x40650e
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x406810
push edx
sub edx, 0xdbc
call 0x406756
add byte [esi], dh
aas
inc esp
dec edi
xor edx, dword [eax - 0x7d]
les eax, [eax + ebp*8]
or al, byte [eax]
add byte [eax], al
add byte [edx], bh
inc esp
dec esp
inc ecx
cmp eax, 0xc4834b41
add al, 0x5a
push edi
add edi, 0x654b
pop edi
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push edx
xor edx, 0x487e
add edx, 0x1323d
jmp 0x406793
pop edx
push edx
push edx
add esp, 4
xor edx, 0x105ea
and edx, 0xdc9b
or edx, 0x15fa0
jmp 0x4067b1
pop edx
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x406810
push edx
add edx, 0x352b
xor edx, 0x7a7d
xor edx, 0xb3e6
sub edx, 0x4cb3
pop edx
push edi
push ebx
add esp, 4
and edi, 0xeed4
xor edi, 0x12455
xor edi, 0x3cd
pop edi
mov dword [ebp - 0x738], 0
jmp 0x406efa
push edi
push edi
add esp, 4
sub edi, 0x83f7
xor edi, 0x5849
xor edi, 0x17499
pop edi
push edi
and edi, 0x17665
and edi, 0x7b55
and edi, 0x4c9f
sub edi, 0xdb68
pop edi
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 edi
or edi, 0xce25
and edi, 0x59da
pop edi
push edi
jmp 0x40687d
xor edi, 0xbb01
call 0x406891
add byte [eax + 0x3c], dl
dec esp
inc ebp
inc ebx
xor eax, 0xc4834a49
add al, 0xeb
add al, 0x4c
inc ecx
dec esp
pop edi
cmp dword [ebp - 0x14f4], 0
jne 0x4068b3
mov dword [ebp - 0x2e0], 0
jmp 0x406b5a
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push ecx
add ecx, 0x170f6
add ecx, 0x6a03
pop ecx
push edi
and edi, 0x14cc3
sub edi, 0x14225
call 0x4068ed
add byte [esi + 0x48], al
inc esi
xor edi, dword [edx + ecx*2]
dec eax
add esp, 4
and edi, 0x94d8
pop edi
cmp dword [ebp - 0xc3c], 0
jne 0x40690f
mov dword [ebp - 0x2e0], 0
jmp 0x406b5a
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push ecx
push eax
add esp, 4
xor ecx, 0x178c2
sub ecx, 0x11ade
jmp 0x406932
and ecx, 0x12bea
pop ecx
push ebx
call 0x406949
add byte [edx + eax*2 + 0x43], cl
cmp dword [ebx + 0x35], eax
dec ebp
inc ecx
add esp, 4
pop ebx
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 edi
push eax
add esp, 4
call 0x406989
add byte [eax], bh
inc ecx
dec edi
inc esp
inc ebx
cmp al, byte ds:[ebx + 0x8e804c4]
add byte [eax], al
add byte [eax], al
cmp eax, 0x3f4f483f
push eax
dec edi
add esp, 4
xor edi, 0xc679
xor edi, 0x17ee4
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 ebx
and ebx, 0x31a5
add ebx, 0x82f4
add ebx, 0xb352
sub ebx, 0x2c9a
pop ebx
push eax
push edi
add esp, 4
and eax, 0x11313
or eax, 0x3726
sub eax, 0x11f19
pop eax
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x406a4f
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x406aa9
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x406977
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x406977
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x406a93
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x406a9d
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x406af2
push edi
sub edi, 0x82d1
pop edi
push eax
push edx
add esp, 4
add eax, 0xe98
and eax, 0xf2f0
or eax, 0x13146
sub eax, 0x60bc
pop eax
push ebx
push edi
add esp, 4
jmp 0x406ae3
pop ebx
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x406b5a
push ecx
or ecx, 0xbbf5
jmp 0x406aff
xor ecx, 0x183fa
and ecx, 0x10b05
pop ecx
push eax
or eax, 0x130cc
call 0x406b20
add byte [edi + 0x3b], cl
cmp dh, byte [ebx]
cmp eax, 0xc4835040
add al, 0x58
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 0x406b50
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x40691b
mov dword [ebp - 0x2e0], 0
push ebx
and ebx, 0x4b02
add ebx, 0x2d01
call 0x406b73
add byte [edx + 0x45], cl
inc ebp
dec eax
inc ecx
cmp eax, 0x8104c483
jecxz 0x406b0c
cmp al, byte [eax]
add byte [ebx + 0x56], bl
and esi, 0x88f1
jmp 0x406b8b
pop esi
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push ecx
push edx
add esp, 4
and ecx, 0x1954
sub ecx, 0x25d0
pop ecx
push ecx
push ebx
add esp, 4
xor ecx, 0x6b12
and ecx, 0xa1b4
jmp 0x406bc6
sub ecx, 0x327d
pop ecx
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x406bfd
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x406eee
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x406c25
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x406eee
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 0x406c57
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x406eee
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x406c7c
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x406eee
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 0x406cd6
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 0x406ee2
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 0x406d46
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 0x406df8
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x406df8
push edi
push ecx
add esp, 4
sub edi, 0x4191
add edi, 0x79cb
jmp 0x406d8d
pop edi
push edx
call 0x406d9b
add byte [ecx + 0x36], al
inc edi
inc ebx
inc edi
dec eax
add esp, 4
and edx, 0xe3d4
pop edx
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 0x406dea
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 0x406df1
jmp 0x406d37
jmp 0x406df8
push ecx
or ecx, 0x1026e
pop ecx
push ebx
push edx
add esp, 4
xor ebx, 0x90fd
add ebx, 0x11ff8
call 0x406e20
add byte [esi], bh
dec edi
inc edi
cmp byte [eax], bh
dec eax
dec eax
cmp eax, 0x4c48336
add ebx, 0x139a5
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 0x406e57
mov dword [ebp - 0xc40], 0
jmp 0x406ec6
push ebx
push eax
add esp, 4
or ebx, 0x993f
and ebx, 0x159da
or ebx, 0x14664
add ebx, 0x48f8
pop ebx
push ebx
call 0x406e85
add byte [esi + 0x49], cl
inc esi
inc ebp
cmp ecx, dword [eax + 0x44]
cmp byte [ecx], bh
add esp, 4
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 0x406ebc
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x406ec6
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x406edd
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x406eee
jmp 0x406cc7
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push eax
add eax, 0x26c0
sub eax, 0x129e1
call 0x406f15
add byte [edi + 0x49], cl
xor al, 0x4e
aaa
dec esp
dec eax
add esp, 4
call 0x406f28
add byte [esi + 0x44], cl
inc ebx
dec esp
xor al, 0x4c
dec edi
inc edi
dec esp
add esp, 4
pop eax
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push ebx
jmp 0x406f42
pop ebx
push esi
and esi, 0x97cc
or esi, 0x17732
pop esi
push ecx
xor ecx, 0x12829
xor ecx, 0xf734
pop ecx
push esi
or esi, 0x1703b
and esi, 0x16855
pop esi
cmp dword [ebp - 0x3cc], 0
je 0x406f7f
cmp dword [ebp - 0xa5c], 0
jne 0x406fc5
push esi
push esi
add esp, 4
xor esi, 0xcc9a
and esi, 0x15127
and esi, 0x583a
pop esi
push esi
and esi, 0x896
or esi, 0xed6f
xor esi, 0x3ec9
and esi, 0x5d8
pop esi
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push eax
add eax, 0xbb2f
pop eax
push ecx
push esi
add esp, 4
xor ecx, 0x12f57
pop ecx
push ebx
push ecx
add esp, 4
or ebx, 0x628d
or ebx, 0xc4f4
add ebx, 0xff3b
or ebx, 0x145f2
pop ebx
mov eax, dword [ebp - 0x3cc]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x381], cl
mov edx, dword [ebp - 0xa5c]
sub edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x158c], edx
mov dword [ebp - 0xc70], 0
push edi
xor edi, 0x18302
pop edi
push esi
push edi
add esp, 4
and esi, 0x144c3
and esi, 0x114b7
sub esi, 0xf88b
xor esi, 0xc00
pop esi
push eax
push esi
add esp, 4
or eax, 0x2ddf
pop eax
mov byte [ebp - 0x960], 0x56
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
mov byte [ebp - 0x95d], 0x74
mov byte [ebp - 0x95c], 0x75
mov byte [ebp - 0x95b], 0x61
mov byte [ebp - 0x95a], 0x6c
mov byte [ebp - 0x959], 0x50
mov byte [ebp - 0x958], 0x72
mov byte [ebp - 0x957], 0x6f
mov byte [ebp - 0x956], 0x74
mov byte [ebp - 0x955], 0x65
mov byte [ebp - 0x954], 0x63
mov byte [ebp - 0x953], 0x74
mov byte [ebp - 0x952], 0
push eax
push edx
add esp, 4
and eax, 0xaea6
jmp 0x4070db
add eax, 0x14553
pop eax
push edx
push edx
add esp, 4
call 0x4070f5
add byte [ebp + 0x4c], al
inc edx
cmp eax, 0x404a4e48
add esp, 4
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18d4], edx
mov eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x150c], eax
push esi
and esi, 0x4619
pop esi
push edi
push ebx
add esp, 4
sub edi, 0xa038
pop edi
push eax
push edi
add esp, 4
xor eax, 0x11dac
add eax, 0x1727d
and eax, 0x152aa
or eax, 0x166e1
pop eax
cmp dword [ebp - 0x150c], 0
jne 0x40716a
mov dword [ebp - 0x2a8], 0
jmp 0x407411
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push esi
add esi, 0x1766f
sub esi, 0x4763
xor esi, 0x7155
sub esi, 0x81be
pop esi
push eax
push ecx
add esp, 4
sub eax, 0x17b25
and eax, 0xb176
sub eax, 0x164ad
pop eax
cmp dword [ebp - 0xc4c], 0
jne 0x4071c6
invalid
mov dword [ebp - 0x2a8], 0
jmp 0x407411
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push edx
or edx, 0xdc
and edx, 0xd143
call 0x4071ec
add byte [ebx + 0x46], al
push eax
xor eax, 0x83414037
les eax, [ecx + eax*4]
loop 0x40717a
push esp
add dword [eax], eax
pop edx
push esi
xor esi, 0x15260
and esi, 0x117aa
pop esi
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push ebx
push esi
add esp, 4
add ebx, 0x17c64
sub ebx, 0x4836
pop ebx
push ecx
push ebx
add esp, 4
or ecx, 0xed51
pop ecx
push ecx
push edx
add esp, 4
add ecx, 0x1675a
pop ecx
push ebx
sub ebx, 0x4a2a
pop ebx
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push ecx
push ebx
add esp, 4
add ecx, 0x96eb
xor ecx, 0x7030
call 0x4072d7
add byte [ebx + 0x4b], cl
dec edi
xor al, 0x39
aas
cmp ecx, dword [edx + 0x33]
add esp, 4
and ecx, 0xbf19
pop ecx
push ecx
and ecx, 0x4911
pop ecx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x407306
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x407360
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x40722e
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x40722e
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x40734a
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x407354
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x4073a9
push edx
add edx, 0x4583
pop edx
push eax
call 0x40737f
add byte [0x45363d46], dh
cmp dword [eax - 0x7d], eax
les eax, [eax + ebp*8]
or al, byte [eax]
add byte [eax], al
add byte [ecx + 0x44], al
dec esp
inc edi
dec ebp
cmp edi, dword [edi]
inc ebp
cmp dword [ebx - 0x377efb3c], eax
pushal
add dword [eax], eax
pop eax
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x407411
push ecx
push esi
add esp, 4
and ecx, 0x15635
and ecx, 0x133ef
or ecx, 0xdca
pop ecx
push eax
sub eax, 0xda74
call 0x4073d7
add byte [edx], bh
cmp dword [edi], esi
dec esp
dec esi
cmp eax, 0x833d3344
les eax, [eax + ebx*2]
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x407407
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x4071d2
mov dword [ebp - 0x2a8], 0
push esi
call 0x40741f
add byte [ebx], bh
dec esi
inc ecx
inc ecx
inc ebp
inc eax
inc eax
add esp, 4
or esi, 0x140c
jmp 0x407431
pop esi
push edi
jmp 0x40743c
add edi, 0x10622
pop edi
cmp dword [ebp - 0x2a8], 0
jne 0x407d48
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push eax
call 0x4074f9
add byte [esp + esi + 0x4b], al
dec ebx
xor al, 0x49
xor eax, 0xc4833a4d
add al, 0x81
invalid
push esi
push edi
add esp, 4
xor esi, 0x1c3a
sub esi, 0x1239b
pop esi
push ebx
push ecx
add esp, 4
or ebx, 0x13aaa
sub ebx, 0x6b71
xor ebx, 0xd6e
jmp 0x407d79
pop ebx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push ebx
push edi
add esp, 4
or ebx, 0x3dbc
xor ebx, 0x6c92
pop ebx
push edx
push edi
add esp, 4
or edx, 0x8b02
pop edx
push edi
push edx
add esp, 4
xor edi, 0xf8b4
pop edi
push ebx
xor ebx, 0x947f
pop ebx
cmp dword [ebp - 0x1574], 0
jne 0x407dec
mov dword [ebp - 0x2a8], 0
jmp 0x408093
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push ebx
push eax
add esp, 4
call 0x407e12
add byte [eax + ecx*2], dh
inc ecx
xor ecx, dword [esi + 0x4c]
xor al, byte [ecx + 0x4f]
add esp, 4
or ebx, 0xeb99
xor ebx, 0x4583
pop ebx
push eax
sub eax, 0xea20
or eax, 0x1352e
pop eax
cmp dword [ebp - 0xc68], 0
jne 0x407e48
mov dword [ebp - 0x2a8], 0
jmp 0x408093
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push eax
push edx
add esp, 4
xor eax, 0x3024
jmp 0x407e66
pop eax
push edi
sub edi, 0x17894
add edi, 0x168ec
pop edi
push esi
jmp 0x407e7e
jmp 0x407e85
pop esi
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push ebx
xor ebx, 0xf828
or ebx, 0xe4d9
add ebx, 0x5e54
and ebx, 0x18222
pop ebx
push ebx
push ecx
add esp, 4
call 0x407ede
add byte [eax + 0x49], dl
xor al, 0x3b
inc esi
dec edx
dec eax
cmp byte [ebx - 0x74a4fb3c], al
xchg ebp, eax
mov al, byte [0x66fffff3]
mov eax, dword [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push ebx
sub ebx, 0x562a
xor ebx, 0x2c44
pop ebx
push ecx
push esi
add esp, 4
or ecx, 0x15f59
or ecx, 0xc3
call 0x407f67
add byte [eax + 0x32], al
dec edx
inc eax
inc eax
inc eax
inc ebp
inc ecx
xor al, 0x83
les eax, [ecx + ebx*2]
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x407f88
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x407fe2
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x407eb0
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x407eb0
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x407fcc
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x407fd6
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x40802b
push ebx
or ebx, 0xa22b
jmp 0x407ff7
call 0x408003
add byte [esi], dh
xor esi, dword [edx]
dec eax
cmp al, 0x3c
add esp, 4
sub ebx, 0x9de2
pop ebx
push eax
jmp 0x408016
add eax, 0x3581
pop eax
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x408093
push ebx
push ebx
add esp, 4
add ebx, 0x131c4
call 0x408042
add byte [0x46404e45], bh
cmp byte [ebx + 0x9e804c4], al
add byte [eax], al
add byte [eax], al
xor dh, byte [esi]
dec esi
cmp eax, 0x323b3344
add esp, 4
or ebx, 0x15937
pop ebx
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x408089
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x407e54
mov dword [ebp - 0x2a8], 0
push ecx
sub ecx, 0x11fa3
and ecx, 0x3840
xor ecx, 0x6068
sub ecx, 0x8440
pop ecx
push ecx
add ecx, 0x2c15
call 0x4080c1
add byte [edx + 0x4f], al
aas
inc esp
xor esi, dword [esi]
add esp, 4
pop ecx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push edx
and edx, 0x13e90
jmp 0x4080e0
and edx, 0x11744
call 0x4080f2
add byte [edi + 0x4e], cl
inc edx
inc esi
dec ebx
inc esp
add esp, 4
pop edx
push edi
xor edi, 0x15e57
jmp 0x408105
pop edi
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x408136
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x408427
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x40815e
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x408427
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x408190
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x408427
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x4081b5
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x408427
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x40820f
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x40841b
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x40827f
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x408331
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x408331
push edi
push edx
add esp, 4
and edi, 0xc402
xor edi, 0x11f13
pop edi
push edi
call 0x4082ce
add byte [eax + 0x4a], dl
aas
cmp eax, 0x333d4e42
aas
add esp, 4
xor edi, 0x155fb
or edi, 0x13b99
pop edi
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x408323
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x40832a
jmp 0x408270
jmp 0x408331
push ebx
push esi
add esp, 4
sub ebx, 0x84a5
and ebx, 0xdda0
pop ebx
push ebx
push ecx
add esp, 4
add ebx, 0x9f39
jmp 0x408356
or ebx, 0x1ffe
sub ebx, 0x6fb
pop ebx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x408390
mov dword [ebp - 0xc6c], 0
jmp 0x4083ff
push esi
push eax
add esp, 4
xor esi, 0x1846f
jmp 0x4083a1
xor esi, 0x17fa
add esi, 0x13bab
pop esi
push ecx
push ecx
add esp, 4
jmp 0x4083bb
sub ecx, 0x7d51
pop ecx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x4083f5
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x4083ff
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x408416
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x408427
jmp 0x408200
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push ecx
sub ecx, 0xde9d
pop ecx
push ebx
push eax
add esp, 4
xor ebx, 0x14ffc
add ebx, 0x1ee
jmp 0x408455
pop ebx
push edx
and edx, 0x14544
jmp 0x408464
pop edx
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x4084d8
push ebx
push eax
add esp, 4
or ebx, 0x27fc
add ebx, 0x16b44
and ebx, 0x9a1
pop ebx
push edx
and edx, 0x6407
xor edx, 0xb386
add edx, 0xe2b5
sub edx, 0xd090
pop edx
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x4084f5
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x408551
push edx
sub edx, 0x16924
call 0x408517
add byte [ebx + ecx*2 + 0x3c], cl
push eax
inc ecx
xor al, 0x38
add esp, 4
xor edx, 0xb75b
pop edx
push eax
add eax, 0x17996
xor eax, 0x13c6f
and eax, 0x16ccf
pop eax
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x4084e6
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x4085c9
push ecx
push esi
add esp, 4
add ecx, 0x8c17
xor ecx, 0x14d8b
pop ecx
push esi
or esi, 0xa534
pop esi
push esi
push ecx
add esp, 4
or esi, 0x461a
jmp 0x4085ae
add esi, 0x2fc9
pop esi
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push ecx
add ecx, 0xba86
pop ecx
push edi
jmp 0x4085da
pop edi
push edi
push edx
add esp, 4
call 0x4085ee
add byte [edx + 0x3b], al
dec eax
inc ecx
dec ecx
cmp eax, 0xc4834435
add al, 0xeb
pop es
dec ebx
cmp cl, byte [esi + 0x3b]
inc esp
cmp eax, 0x10b9525f
adc byte [eax], dl
adc byte [edx + 0x51], bl
mov ecx, 0xffff05ff
pop ecx
push esi
push ebp
mov cl, cl
or dword [esi + 0x55974c6], eax
add eax, 0xb347c686
add eax, 0xf0585e05
or dword [edi + 0x4a], eax
dec esi
dec edi
lock or eax, dword [ecx + 0x4a]
inc ebx
dec ecx
inc esi
inc edx
pushal
pop ebx
lock or eax, dword [ebx + 0x44]
dec esp
dec esp
push ecx
cmp al, byte [esi + 0x6147ad3]
add eax, 0x570bf63
add eax, 0x9a8e6b05
shr esi, 4
add al, 0xbd
push 5
add eax, 0x8a8e6b05
ret