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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2b8
mov eax, dword [0x44e82c]
mov edi, dword [esp + 0x2d4]
lea ebp, [esp + 0x28]
xor eax, esp
mov dword [esp + 0x2b4], eax
lea eax, [esp + 0x1b4]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
lea eax, [esp + 0xb4]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
mov eax, 0x144ac332
mov dword [esp + 0x1c], 0
nop
cmp eax, 0xd5bc8b0
jle 0x4010c0
cmp eax, 0x4fdd06a6
jg 0x4012d0
cmp eax, 0x25509dc3
jg 0x401500
cmp eax, 0x157eb4d1
jle 0x40159d
cmp eax, 0x157eb4d2
je 0x401929
cmp eax, 0x2177981f
je 0x40194e
cmp eax, 0x21f01ed0
jne 0x401050
mov eax, 0x48f5fb0c
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
cmp eax, 0xd5bc8b0
jg 0x401057
nop dword [eax + eax]
cmp eax, 0xd68c17a1
jg 0x401250
cmp eax, 0xb3b2f459
jle 0x40139b
cmp eax, 0xbeb60690
jle 0x401582
cmp eax, 0xbeb60691
je 0x401970
cmp eax, 0xd07b0eb3
je 0x4019a1
cmp eax, 0xd2e59bbd
jne 0x401050
mov eax, dword [esp + 0x94]
lea ecx, [eax + 1]
sar ecx, 0x1f
shr ecx, 0x18
lea ecx, [eax + ecx + 1]
and ecx, 0xffffff00
neg ecx
lea eax, [eax + ecx + 1]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x5c]
movzx eax, byte [esp + ecx + 0x1b4]
mov edx, dword [esp + 0x98]
add edx, eax
mov ebx, edx
sar ebx, 0x1f
shr ebx, 0x18
add ebx, edx
and ebx, 0xffffff00
sub edx, ebx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x60]
mov bl, byte [esp + edx + 0x1b4]
mov byte [esp + ecx + 0x1b4], bl
mov byte [esp + edx + 0x1b4], al
movzx ecx, byte [esp + ecx + 0x1b4]
add ecx, eax
movzx eax, cl
not ecx
mov edx, ecx
and edx, 0xffffff00
or eax, edx
xor ecx, eax
and ecx, eax
mov dword [esp + 0x64], ecx
cmp dword [esp + 0x64], 0
mov ecx, dword [0x44f510]
mov eax, dword [0x44f514]
lea edx, [ecx - 1]
setg byte [esp + 0x6b]
imul edx, ecx
mov ecx, edx
and edx, 0xaab0c0c
not ecx
and ecx, 0xf554f3f3
or edx, ecx
mov ecx, edx
xor edx, 0xc4008010
xor ecx, 0xaab0c0c
and edx, 0xcc898c10
mov ebx, ecx
and ecx, 0xfffffffe
and ebx, 0x337673ef
or ebx, edx
xor ebx, 0x337673ee
or ecx, ebx
mov ebx, 0x2177981f
mov edx, ecx
and ecx, 0x8b6d75d7
not edx
and edx, 0x74928a28
or ecx, edx
xor ecx, 0x8b6d75d7
sete cl
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg dh
xor ch, cl
or dh, dl
mov al, dh
xor al, ch
mov eax, 0x25509dc4
cmovne ebx, eax
test ch, ch
mov ecx, 0x2177981f
mov eax, ebx
cmovne eax, ecx
test dh, dh
cmovne eax, ebx
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
cmp eax, 0xf255244a
jg 0x4014bd
cmp eax, 0xe94b5a1e
jle 0x4015d9
cmp eax, 0xe94b5a1f
je 0x401a20
cmp eax, 0xeb9b3ec4
je 0x401ab7
cmp eax, 0xf23536f3
jne 0x401050
lea eax, [esp + 0x38]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov eax, 0x60db458a
mov dword [esp + 0xc], 0
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
cmp eax, 0x6c40df8a
jg 0x401541
cmp eax, 0x58479aac
jle 0x401663
cmp eax, 0x58479aad
je 0x401b2c
cmp eax, 0x60db458a
je 0x401bb4
cmp eax, 0x686527ba
jne 0x401050
mov eax, dword [0x44f510]
mov esi, 0x49f0d5d4
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xd7702397
not eax
and eax, 0x288fdc68
or ecx, eax
mov eax, ecx
xor ecx, 0x10860
xor eax, 0xd7702397
and ecx, 0x956128f0
mov edx, eax
and eax, 0xfffffffe
and edx, 0x6a9ed70f
or edx, ecx
xor edx, 0x6a9ed70e
or eax, edx
mov ecx, eax
and eax, 0x8f207940
not ecx
and ecx, 0x70df86bf
or eax, ecx
xor eax, 0x8f207940
sete al
cmp dword [0x44f514], 0xa
setl cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x9cdbe9d0
or cl, dl
mov ch, cl
xor ch, dl
test cl, cl
cmovne eax, esi
test dl, dl
mov edx, 0x9cdbe9d0
cmove eax, esi
jmp 0x401a0b
cmp eax, 0x9c71efe7
jle 0x4016b2
cmp eax, 0x9c71efe8
je 0x401bd8
cmp eax, 0x9cdbe9d0
je 0x401bf6
cmp eax, 0xa0a41070
jne 0x401050
mov eax, dword [esp + 0x64]
mov ecx, eax
xor ecx, 0x7674b880
and ecx, eax
not eax
and eax, 0x7674b880
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov eax, ecx
and ecx, 0x898b477a
not eax
and eax, 0x7674b885
or ecx, eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xa8]
mov eax, dword [eax]
cmp eax, dword [esp + 0x40]
mov eax, 0xd078e15e
setne byte [esp + 0xaf]
nop
cmp eax, 0x3cec354b
jg 0x401480
cmp eax, 0xabc41ea3
je 0x40145e
cmp eax, 0xd078e15e
jne 0x401420
lea eax, [esp + 0x34]
mov ecx, 0xabc41ea3
mov dword [esp + 0xb0], eax
mov eax, 0x3cec354c
cmp byte [esp + 0xaf], 0
cmovne eax, ecx
cmp eax, 0x3cec354b
jg 0x401480
jmp 0x401427
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ecx], eax
add dword [esp + 0x3c], 4
jmp 0x4014ac
cmp eax, 0x3cec354c
je 0x401493
cmp eax, 0x441a7b56
jne 0x401420
jmp 0x401c65
mov eax, dword [esp + 0xa8]
lea ecx, [esp + 0x38]
push dword [esp + 0xb0]
push dword [eax]
call fcn.00407e80
mov eax, 0x441a7b56
cmp eax, 0x3cec354b
jg 0x401480
jmp 0x401427
cmp eax, 0xf6d2c046
jle 0x401737
cmp eax, 0xf6d2c047
je 0x401c86
cmp eax, 0xfe3d1934
je 0x401cac
cmp eax, 0x891f96c
jne 0x401050
cmp byte [esp + 0x83], 0
mov eax, 0x6f477c58
mov ecx, 0xd68c17a2
jmp 0x40195d
cmp eax, 0x3aa5cbbd
jle 0x4017a3
cmp eax, 0x3aa5cbbe
je 0x401cc1
cmp eax, 0x48f5fb0c
je 0x401f81
cmp eax, 0x49f0d5d4
jne 0x401050
mov eax, 0x686527ba
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
cmp eax, 0x71bbf3e8
jle 0x40187f
cmp eax, 0x71bbf3e9
je 0x401fcc
cmp eax, 0x7cc6ae6d
je 0x402071
cmp eax, 0x7f81d6c2
jne 0x401050
mov eax, 0x21f01ed0
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
cmp eax, 0xb3b2f45a
je 0x40246c
cmp eax, 0xb6f08019
jne 0x401050
jmp 0x402233
cmp eax, 0xd5bc8b1
je 0x40208e
cmp eax, 0x144ac332
jne 0x401050
mov eax, dword [esp + 0x1c]
mov ecx, 0xf2ad91c2
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
cmp eax, 0x100
mov eax, 0x157eb4d2
jmp 0x401fb9
cmp eax, 0xd68c17a2
je 0x402209
cmp eax, 0xdf5fdbb0
jne 0x401050
cmp dword [esp + 0x74], 0
mov eax, dword [0x44f510]
mov ecx, dword [0x44f514]
mov esi, 0xf255244b
lea edx, [eax - 1]
setne byte [esp + 0x83]
imul edx, eax
mov eax, edx
xor edx, 1
not eax
and eax, 0xfffffffe
or edx, eax
cmp edx, 0xffffffff
sete al
setne dl
cmp ecx, 9
setg dh
cmp ecx, 0xa
setl cl
and dh, al
and dl, cl
or dh, dl
mov dl, cl
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x891f96c
or cl, dl
mov dl, cl
xor dl, dh
test cl, cl
cmovne eax, esi
test dh, dh
cmove eax, esi
test dl, dl
mov edx, 0x891f96c
jmp 0x401a0d
cmp eax, 0x4fdd06a7
je 0x40221e
cmp eax, 0x54a7fb32
jne 0x401050
lea eax, [esp + 0x44]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov eax, 0x7cc6ae6d
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
cmp eax, 0x82a6a82c
je 0x402248
cmp eax, 0x99b43b29
jne 0x401050
mov eax, dword [0x44f510]
mov ecx, dword [0x44f514]
mov esi, 0x25509dc4
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 0x3001bb49
not eax
mov ebx, eax
and ebx, 0xcffe44b6
or edx, ebx
xor edx, 0x3001bb48
xor eax, edx
test eax, edx
setne dl
sete al
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
and dl, ah
and cl, al
or dl, cl
mov cl, ah
or ah, al
xor cl, al
xor ah, 1
or ah, cl
mov ecx, 0xd2e59bbd
mov al, ah
xor al, dl
cmovne ecx, esi
test ah, ah
mov eax, 0xd2e59bbd
jmp 0x401baa
cmp eax, 0xf255244b
je 0x4022e8
cmp eax, 0xf2ad91c2
jne 0x401050
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x84]
mov byte [esp + ecx + 0x1b4], al
mov eax, dword [esp + 0x84]
cdq
idiv dword [esp + 0x2d8]
mov al, byte [edi + edx]
mov ecx, dword [esp + 0x84]
mov byte [esp + ecx + 0xb4], al
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x1c], eax
mov eax, 0x144ac332
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
cmp eax, 0x25509dc4
je 0x402301
cmp eax, 0x28e83c2a
jne 0x401050
lea eax, [esp + 0x48]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xa8]
mov eax, dword [eax]
cmp eax, dword [esp + 0x4c]
mov eax, 0xd519cdde
setne byte [esp + 0x34]
nop dword [eax + eax]
cmp eax, 0x2b42b073
jg 0x401830
cmp eax, 0xd519cdde
je 0x4017fa
cmp eax, 0xf0a64b1e
jne 0x4017e0
jmp 0x4023d0
lea eax, [esp + 0x2d0]
mov ecx, 0x2b42b074
mov dword [esp + 0xb0], eax
mov eax, 0x54a79cbc
cmp byte [esp + 0x34], 0
cmovne eax, ecx
cmp eax, 0x2b42b073
jle 0x4017e7
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0x2b42b074
je 0x401859
cmp eax, 0x54a79cbc
jne 0x4017e0
mov eax, dword [esp + 0xa8]
lea ecx, [esp + 0x44]
push dword [esp + 0xb0]
push dword [eax]
call fcn.00407140
jmp 0x40186d
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [ecx], eax
add dword [esp + 0x48], 4
mov eax, 0xf0a64b1e
cmp eax, 0x2b42b073
jle 0x4017e7
jmp 0x401830
cmp eax, 0x6c40df8b
je 0x4023f1
cmp eax, 0x6f477c58
jne 0x401050
mov eax, dword [0x44f510]
mov esi, 0x686527ba
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x2a68eb40
not eax
and eax, 0xd59714bf
or ecx, eax
mov eax, ecx
xor ecx, 0xc41004bf
xor eax, 0x2a68eb40
and ecx, 0xec1004ff
mov edx, eax
and eax, 0xfffffffe
and edx, 0x13effb00
or edx, ecx
xor edx, 0x13effb01
or eax, edx
mov ecx, eax
and eax, 0xd9d2c66c
not ecx
and ecx, 0x262d3993
or eax, ecx
xor eax, 0xd9d2c66c
sete al
cmp dword [0x44f514], 0xa
setl cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
or cl, dl
mov eax, ecx
xor al, dl
mov eax, 0x49f0d5d4
cmovne esi, eax
test cl, cl
mov eax, 0x686527ba
cmovne eax, esi
test dl, dl
jmp 0x4022d5
mov eax, 0xbeb60691
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
cmp byte [esp + 0x6b], 0
mov eax, 0x3aa5cbbe
mov ecx, 0xf23536f3
cmovne eax, ecx
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [esp + 0x14]
mov ecx, 0xeb9b3ec4
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x88]
cmp eax, 0x100
mov eax, 0x54a7fb32
jmp 0x401fb9
mov eax, dword [0x44f510]
mov ecx, dword [0x44f514]
mov esi, 0x58479aad
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor edx, 1
not eax
and eax, 0xfffffffe
or edx, eax
mov eax, edx
and edx, 0xba5727a8
not eax
and eax, 0x45a8d857
or edx, eax
xor edx, 0xba5727a8
sete al
setne dl
cmp ecx, 9
setg ah
cmp ecx, 0xa
setl cl
and ah, al
mov ch, cl
xor ch, dl
and ch, cl
and cl, dl
mov edx, 0xfe3d1934
or cl, ah
mov al, ch
xor al, cl
cmovne edx, esi
test cl, cl
mov eax, edx
cmovne eax, esi
test ch, ch
cmove eax, edx
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov ecx, dword [0x44f510]
mov eax, dword [0x44f514]
mov esi, 0xf255244b
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, 0xdac98a1
not ecx
and ecx, 0xf253675e
or edx, ecx
mov ecx, edx
xor edx, 0xf253675f
xor ecx, 0xdac98a0
and ecx, 0xfffffffe
or edx, ecx
mov ecx, edx
and edx, 0x526f7a22
not ecx
and ecx, 0xad9085dd
or edx, ecx
xor edx, 0x526f7a22
setne cl
cmp eax, 9
setg dl
cmp eax, 0xa
setl ch
mov eax, edx
xor dl, cl
and al, cl
xor ch, cl
or dl, al
mov al, ch
xor al, dl
mov eax, 0xdf5fdbb0
cmovne esi, eax
test dl, dl
mov eax, 0xdf5fdbb0
cmovne eax, esi
test ch, ch
cmovne eax, esi
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov ecx, dword [esp + 0x88]
movzx eax, byte [esp + ecx + 0x1b4]
mov edx, eax
add edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
movzx esi, byte [esp + esi + 0xb4]
add esi, edx
mov edx, esi
sar edx, 0x1f
shr edx, 0x18
add edx, esi
and edx, 0xffffff00
sub esi, edx
mov dl, byte [esp + esi + 0x1b4]
mov dword [esp + 0x18], esi
mov byte [esp + ecx + 0x1b4], dl
mov byte [esp + esi + 0x1b4], al
mov eax, dword [esp + 0x88]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xbeb60691
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [0x44f510]
mov ecx, dword [0x44f514]
mov esi, 0xfe3d1934
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 0xc508abbe
not eax
mov ebx, eax
and eax, 0xfffffffe
and ebx, 0x3af75441
or ebx, edx
xor ebx, 0x3af75440
or eax, ebx
mov edx, eax
and eax, 0x8e228b42
not edx
and edx, 0x71dd74bd
or eax, edx
xor eax, 0x8e228b42
sete dl
setne al
cmp ecx, 9
setg ah
cmp ecx, 0xa
setl cl
and dl, ah
and cl, al
or dl, cl
mov cl, ah
xor ah, al
and cl, al
or ah, cl
mov ecx, 0x7f81d6c2
mov al, ah
xor al, dl
cmovne ecx, esi
test ah, ah
mov eax, 0x7f81d6c2
cmovne eax, ecx
test dl, dl
jmp 0x402425
mov eax, dword [esp + 0xc]
mov ecx, 0xa0a41070
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xa0]
cmp eax, 0x64
mov eax, 0x6c40df8b
jmp 0x401fb9
mov ecx, dword [esp + 0x74]
call fcn.00402750
mov eax, 0x82a6a82c
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [0x44f510]
mov ecx, dword [0x44f514]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 1
not eax
mov esi, eax
and esi, 0xfffffffe
or edx, esi
mov esi, 0x9c71efe8
xor eax, edx
test eax, edx
sete al
setne dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
and ah, dl
and al, cl
or cl, dl
mov edx, 0x82a6a82c
or ah, al
mov al, cl
xor al, ah
cmovne edx, esi
test ah, ah
mov esi, 0x82a6a82c
mov eax, edx
cmovne eax, esi
test cl, cl
cmovne eax, edx
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0xc], eax
mov eax, 0x60db458a
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [esp + 0x10]
mov ecx, 0x28e83c2a
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
cmp eax, 0x3e9
mov eax, 0xd07b0eb3
jmp 0x401fb9
mov eax, 0x58479aad
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
push 8
call fcn.0041e85c
add esp, 4
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
mov dword [eax], 0
mov dword [eax + 4], 0
push dword [esp + 0x74]
push str.__:__P
call fcn.004024a0
add esp, 8
mov dword [esp + 0x78], ebp
lea ecx, [esp + 0x1b4]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x64]
add eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xa8]
cmp dword [eax], 0
mov eax, 0xc80a690b
setne byte [esp + 0xa7]
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xc8948c7d
jg 0x401dd0
cmp eax, 0xba3d1419
je 0x401dae
cmp eax, 0xc80a690b
jne 0x401d70
mov eax, dword [esp + 0x24]
mov ecx, 0xc8948c7e
mov dword [esp + 0xb0], eax
mov eax, 0xba3d1419
cmp byte [esp + 0xa7], 0
cmovne eax, ecx
cmp eax, 0xc8948c7d
jg 0x401dd0
jmp 0x401d77
mov eax, dword [esp + 0xa8]
mov ecx, ebp
push dword [esp + 0xb0]
push dword [eax]
call fcn.00408a00
jmp 0x401f6c
cmp eax, 0xc8948c7e
je 0x401de3
cmp eax, 0x1dce5d8c
jne 0x401d70
jmp 0x402413
mov eax, dword [esp + 0xb0]
mov ebp, dword [0x44f518]
mov edx, dword [0x44f51c]
mov ecx, dword [esp + 0x2c]
lea edi, [ebp - 1]
mov dword [esp + 0x20], eax
imul edi, ebp
mov ebp, edi
and edi, 0x811e07ae
not ebp
and ebp, 0x7ee1f851
or edi, ebp
mov ebp, edi
xor edi, 0x74e16000
xor ebp, 0x811e07ae
and edi, 0xf4e36686
mov esi, ebp
and ebp, 0xfffffffe
and esi, 0xb1c9979
or esi, edi
xor esi, 0xb1c9978
or ebp, esi
mov esi, ebp
and ebp, 0xbc4e140a
not esi
and esi, 0x43b1ebf5
or ebp, esi
mov esi, 0xac550279
xor ebp, 0xbc4e140a
mov ebp, 0xac550279
setne bl
sete bh
sete byte [esp + 0xaf]
cmp edx, 9
setg al
cmp edx, 0xa
mov ah, al
setl dl
setl byte [esp + 0x34]
and bh, al
xor al, bl
and ah, bl
and dl, bl
or al, ah
or dl, bh
mov ebx, 0x9d5f78ca
mov ah, al
xor ah, dl
cmovne esi, ebx
test al, al
cmovne ebp, esi
test dl, dl
mov edx, 0xcb620061
cmove ebp, esi
nop dword [eax]
cmp edx, 0xac550278
jg 0x401ee0
cmp edx, 0x99d790ac
je 0x401f43
cmp edx, 0x9d5f78ca
jne 0x401eb0
mov edx, 0x99d790ac
cmp edx, 0xac550278
jle 0x401eb8
nop dword [eax]
cmp edx, 0xac550279
je 0x401f53
cmp edx, 0xcb620061
jne 0x401eb0
movzx eax, byte [esp + 0xaf]
movzx edx, byte [esp + 0x34]
mov edi, 0x99d790ac
mov esi, 0x9d5f78ca
mov ah, al
mov ebx, eax
xor ah, 1
and ah, dl
xor dl, 1
xor bl, dl
and dl, al
and bl, al
or dl, ah
mov eax, ebx
xor al, dl
test dl, 1
mov edx, 0x9d5f78ca
cmovne edx, edi
test bl, 1
cmove edx, esi
test al, 1
cmovne edx, edi
cmp edx, 0xac550278
jle 0x401eb8
jmp 0x401ee0
mov edx, ebp
cmp edx, 0xac550278
jle 0x401eb8
jmp 0x401ee0
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x2d4]
mov al, byte [eax]
mov edi, ebp
lea ebp, [esp + 0x28]
mov byte [ecx], al
inc dword [esp + 0x2c]
mov eax, 0x1dce5d8c
cmp eax, 0xc8948c7d
jg 0x401dd0
jmp 0x401d77
mov eax, dword [esp + 8]
mov dword [esp + 0x94], eax
mov eax, dword [esp]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x9c]
cmp ecx, dword [eax + 4]
mov eax, 0xb3b2f45a
mov ecx, 0x99b43b29
cmovl eax, ecx
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [esp + 0x7c]
mov ebp, edi
mov edi, dword [esp + 0x2cc]
mov dl, byte [eax]
mov esi, dword [esp + 0x9c]
mov cl, byte [edi + esi]
mov ch, dl
xor ch, 0x4c
and ch, dl
or dl, 0xb3
mov bh, dl
mov dh, cl
not bh
xor dh, 0x4c
and bh, 4
and dh, cl
or cl, 0xb3
mov al, dh
mov bl, cl
mov ah, cl
and dh, 0x46
not bl
not al
and ah, 0xb9
or cl, al
and bl, 0x44
and al, 0xb9
or bl, ah
or dh, al
mov al, ch
mov ah, dl
not cl
and ch, 5
xor dh, bl
not al
and ah, 0xfa
or dl, al
and al, 0xfa
or cl, dh
or bh, ah
or ch, al
mov eax, ecx
not dl
and cl, 0x11
not al
xor ch, bh
and al, 0xee
or dl, ch
or cl, al
mov eax, edx
and dl, 0x11
not al
and al, 0xee
or dl, al
mov eax, 0xe94b5a1f
xor dl, cl
mov byte [edi + esi], dl
mov edi, ebp
lea ebp, [esp + 0x28]
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, 0xf6d2c047
mov dword [esp + 0x10], 0
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [0x44f520]
mov ecx, dword [0x44f524]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 0x2bc88069
not eax
mov esi, eax
and esi, 0xd4377f96
or edx, esi
xor edx, 0xd4377f97
or edx, eax
mov eax, 0x2b547872
cmp edx, 0xffffffff
sete byte [esp + 0xa8]
cmp ecx, 0xa
setl byte [esp + 0xb0]
nop word cs:[eax + eax]
cmp eax, 0x2b547871
jg 0x402110
cmp eax, 0xd11bd8d7
je 0x4020fa
cmp eax, 0x752d24d
jne 0x4020e0
jmp 0x402438
mov ecx, ebp
call fcn.00408780
mov eax, 0x752170c6
cmp eax, 0x2b547871
jle 0x4020e7
nop dword [eax]
cmp eax, 0x752170c6
je 0x40218a
cmp eax, 0x2b547872
jne 0x4020e0
movzx eax, byte [esp + 0xa8]
movzx ecx, byte [esp + 0xb0]
mov ah, cl
mov ch, cl
mov edx, eax
xor ah, 1
xor dl, 1
and ch, ah
xor ah, dl
mov dh, ch
xor ch, cl
and dh, cl
or ch, dh
mov dh, ch
xor ch, 1
and ch, al
or al, cl
and dh, dl
xor al, 1
or ch, dh
mov edx, 0xd11bd8d7
or al, ah
mov cl, al
xor cl, ch
test al, 1
mov eax, 0x752170c6
cmovne eax, edx
test ch, 1
not cl
cmove eax, edx
test cl, 1
mov edx, 0x752170c6
cmovne eax, edx
cmp eax, 0x2b547871
jle 0x4020e7
jmp 0x402110
mov ecx, ebp
call fcn.00408780
mov eax, dword [0x44f520]
mov ecx, dword [0x44f524]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 1
not eax
mov esi, eax
and esi, 0xfffffffe
or edx, esi
xor eax, edx
test eax, edx
setne al
sete dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
mov ch, ah
or ah, dl
and dl, cl
xor cl, al
xor ah, 1
and ch, al
or ah, cl
or ch, dl
mov edx, 0xd11bd8d7
mov cl, ah
xor cl, ch
test ah, ah
mov eax, 0x752d24d
cmovne eax, edx
test ch, ch
cmove eax, edx
test cl, cl
mov edx, 0x752d24d
cmove eax, edx
cmp eax, 0x2b547871
jle 0x4020e7
jmp 0x402110
mov eax, 0x4fdd06a7
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov ecx, dword [esp + 0x74]
call fcn.00402500
push dword [esp + 0x70]
call fcn.0041e88c
add esp, 4
mov eax, 0xd5bc8b1
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov ecx, dword [esp + 0x74]
call fcn.00402750
mov ecx, dword [0x44f510]
mov eax, dword [0x44f514]
mov ebx, 0x9c71efe8
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, 0xb7595fe9
not ecx
and ecx, 0x48a6a016
or edx, ecx
mov ecx, edx
xor edx, 0xa00010
xor ecx, 0xb7595fe9
and edx, 0x21f00018
mov esi, ecx
and ecx, 0xfffffffe
and esi, 0xde0fffe7
or esi, edx
xor esi, 0xde0fffe6
or ecx, esi
mov esi, 0xb6f08019
cmp ecx, 0xffffffff
sete cl
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
mov eax, 0x9c71efe8
setg dh
xor ch, cl
or dh, dl
mov cl, ch
xor cl, dh
test ch, ch
cmovne eax, esi
test dh, dh
cmovne eax, ebx
test cl, cl
cmove eax, esi
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [esp + 0x74]
mov eax, 0xdf5fdbb0
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x94]
lea ecx, [eax + 1]
sar ecx, 0x1f
shr ecx, 0x18
lea ecx, [eax + ecx + 1]
and ecx, 0xffffff00
neg ecx
lea ecx, [eax + ecx + 1]
movzx eax, byte [esp + ecx + 0x1b4]
mov edx, dword [esp + 0x98]
mov edx, dword [esp + 0x98]
mov edx, dword [esp + 0x98]
mov edx, dword [esp + 0x98]
mov edx, dword [esp + 0x98]
mov edx, dword [esp + 0x98]
mov edx, dword [esp + 0x98]
mov edx, dword [esp + 0x98]
mov edx, eax
add edx, dword [esp + 0x98]
mov esi, edx
sar esi, 0x1f
shr esi, 0x18
add esi, edx
and esi, 0xffffff00
sub edx, esi
mov bl, byte [esp + edx + 0x1b4]
mov byte [esp + ecx + 0x1b4], bl
mov byte [esp + edx + 0x1b4], al
mov eax, 0xd2e59bbd
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x10], eax
mov eax, 0xf6d2c047
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
lea ecx, [esp + 0x38]
call fcn.00406f00
mov eax, dword [esp + 0x6c]
mov eax, 0x3aa5cbbe
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [esp + 0x2c]
mov ecx, 0xe94b5a1f
cmp eax, dword [esp + 0x28]
mov eax, 0x71bbf3e9
cmove eax, ecx
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
mov eax, dword [esp + 0x78]
mov eax, dword [esp + 0x9c]
inc eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov eax, 0x48f5fb0c
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
cmp eax, 0xd5bc8b0
jle 0x4010c0
jmp 0x401057
lea ecx, [esp + 0x44]
call fcn.00406f00
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x2b4]
xor ecx, esp
call fcn.0041e8c8
add esp, 0x2b8
pop esi
pop edi
pop ebx
pop ebp
ret