Function at 0x402a30
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1e4
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0xc], eax
mov eax, dword [0x5c0b00]
xor eax, esp
cmp byte [esp + 0x200], 0
mov ecx, 0x2924e163
mov edx, 0x735b32db
cmove edx, ecx
mov dword [esp + 0xa0], edx
mov ecx, 0xe6a4b0e6
mov edx, 0xb9f8b7de
cmove edx, ecx
mov dword [esp + 0x9c], edx
mov ecx, 0x7801c483
mov edx, 0x586f78dc
cmove edx, ecx
mov dword [esp + 0x90], edx
mov ecx, 0x31056199
mov edx, 0xc1b095c2
cmove edx, ecx
mov dword [esp + 0x8c], edx
mov ecx, 0xe81dbd4d
mov edx, 0xc7a9da40
cmove edx, ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x1e0], eax
cmp dword [esp + 0x1f8], 0
mov eax, 0xf024d854
mov ecx, 0x2ea6a688
cmove ecx, eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x34], eax
mov ecx, 0x639ac082
jmp 0x402b40
push dword [esp + 0x30]
call fcn.0059355e
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, 0x10000
setae byte [esp + 0x22]
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xa3c78101
mov edi, 0x51a22ef1
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0xa3c78101
cmovge ecx, edx
setl dl
xor dl, al
cmovne ecx, edi
mov eax, esi
nop dword [eax + eax]
mov edx, ecx
mov esi, eax
cmp ecx, 0xf00b5c5e
jle 0x402c00
cmp edx, 0x31056198
jle 0x402c70
cmp edx, 0x51a22ef0
jle 0x402d5c
cmp edx, 0x60db4b19
jg 0x402eff
cmp edx, 0x586f78db
jle 0x403216
cmp edx, 0x596e1956
jg 0x40370d
cmp edx, 0x586f78dc
je 0x403ff7
cmp edx, 0x58880f45
je 0x40402a
mov eax, esi
mov ecx, edx
cmp edx, 0x58d561a7
jne 0x402b40
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x3894da97
mov edi, 0x89560271
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov dword [esp + 0xd8], ebx
jmp 0x404a3f
cmp edx, 0xba68400d
jle 0x402cf0
cmp edx, 0xde18a215
jg 0x402db9
cmp edx, 0xca8ca68c
jle 0x402f66
cmp edx, 0xd471d56d
jle 0x403256
cmp edx, 0xdbf74951
jg 0x403771
cmp edx, 0xd471d56e
je 0x40405e
cmp edx, 0xd4e02115
je 0x404091
mov eax, esi
mov ecx, edx
cmp edx, 0xd66d4793
jne 0x402b40
mov eax, esi
mov ecx, 0xc6229b78
jmp 0x402b40
cmp edx, 0x1d962879
jg 0x402e2c
cmp edx, 0x261c9c8
jle 0x402fba
cmp edx, 0x9f0e49c
jle 0x4032b1
cmp edx, 0xc4ad1a5
jg 0x4037f3
cmp edx, 0x9f0e49d
je 0x4040e3
mov eax, esi
mov ecx, dword [esp + 0x9c]
cmp edx, 0xbdabf61
je 0x402b40
mov eax, esi
mov ecx, edx
cmp edx, 0xc3657a4
jne 0x402b40
mov eax, dword [esp + 0x2c]
mov byte [esp + eax + 0xe0], 0
mov ecx, dword [esp + 0x38]
add eax, ecx
inc eax
mov dword [esp + 8], eax
jmp 0x402da8
cmp edx, 0xa3c78100
jg 0x402e7f
cmp edx, 0x931b2a76
jle 0x40302e
cmp edx, 0x95364d7c
jle 0x403300
cmp edx, 0x9fd66bd5
jg 0x40384f
cmp edx, 0x95364d7d
je 0x4040ef
cmp edx, 0x9b4c4c6e
je 0x404103
mov eax, esi
mov ecx, edx
cmp edx, 0x9ec3a702
jne 0x402b40
cmp byte [esp + 0x20], 0
mov ecx, 0x2843d86d
mov eax, 0xed9d7337
jmp 0x404cfe
cmp edx, 0x432574a8
jle 0x4030ba
cmp edx, 0x47b5195c
jle 0x40334c
cmp edx, 0x4e6900a0
jg 0x403883
cmp edx, 0x47b5195d
je 0x404117
cmp edx, 0x4d8851bb
je 0x40414e
mov eax, esi
mov ecx, edx
cmp edx, 0x4e10c3d5
jne 0x402b40
mov ebx, 5
mov eax, esi
mov ecx, 0xaa7a8e2c
jmp 0x402b40
cmp edx, 0xe8317fc9
jle 0x403106
cmp edx, 0xeb285476
jle 0x403394
cmp edx, 0xece29aff
jg 0x4038ca
cmp edx, 0xeb285477
je 0x403feb
cmp edx, 0xeb3ae10f
je 0x40415a
mov eax, esi
mov ecx, edx
cmp edx, 0xec293248
jne 0x402b40
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x74], eax
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x78], eax
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x6c], eax
mov eax, esi
mov ecx, dword [esp + 0x88]
jmp 0x402b40
cmp edx, 0x281ebc2d
jle 0x403152
cmp edx, 0x2cac3c8d
jle 0x4033d4
cmp edx, 0x2ea6a687
jg 0x403926
cmp edx, 0x2cac3c8e
je 0x40418e
cmp edx, 0x2e8be4bb
je 0x4041c2
mov eax, esi
mov ecx, edx
cmp edx, 0x2e9ec2f3
jne 0x402b40
xor ebx, ebx
jmp 0x403fda
cmp edx, 0xaf685d37
jle 0x4031b1
cmp edx, 0xb65d2d19
jle 0x40342f
cmp edx, 0xb9a95950
jg 0x403953
cmp edx, 0xb65d2d1a
je 0x4041f7
cmp edx, 0xb8a1440b
je 0x404236
mov eax, esi
mov ecx, edx
cmp edx, 0xb9a27a38
jne 0x402b40
mov eax, dword [0x5c172c]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x94b92592
mov edi, 0xae127ac3
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0x94b92592
jmp 0x402b2e
cmp edx, 0x732fdcd5
jle 0x40346d
cmp edx, 0x799363e4
jg 0x4039a0
cmp edx, 0x732fdcd6
je 0x404247
cmp edx, 0x735b32db
je 0x404253
mov eax, esi
mov ecx, edx
cmp edx, 0x7801c483
jne 0x402b40
push dword [esp + 0x6c]
push dword [esp + 0x1fc]
push dword [esp + 0x30]
call fcn.004053f0
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc4]
jmp 0x4048ee
cmp edx, 0xc22e4d45
jle 0x4034ad
cmp edx, 0xc6229b77
jg 0x403a2f
cmp edx, 0xc22e4d46
je 0x404286
cmp edx, 0xc5a0e07c
je 0x404292
mov eax, esi
mov ecx, edx
cmp edx, 0xc5d34e88
jne 0x402b40
cmp byte [esp + 0x1f], 0
mov ecx, 0xe7cf8752
mov eax, 0x2fff0ad
jmp 0x404cfe
cmp edx, 0xf5b6a2b5
jg 0x403501
cmp edx, 0xf0714726
jle 0x403a6e
cmp edx, 0xf0714727
je 0x40429e
cmp edx, 0xf29d2281
je 0x4042b3
mov eax, esi
mov ecx, edx
cmp edx, 0xf3bc4483
jne 0x402b40
mov ecx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ebp, ebx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xa2e972c9
mov ebx, 0x36d0dd76
jmp 0x40492d
cmp edx, 0x8889e936
jg 0x403549
cmp edx, 0x847fb69f
jle 0x403a94
cmp edx, 0x847fb6a0
je 0x4042cc
cmp edx, 0x85bcb94c
je 0x404300
mov eax, esi
mov ecx, edx
cmp edx, 0x86a53f72
jne 0x402b40
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x200ee6b5
mov edi, 0xac8095bc
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [esp + 0x54]
mov dword [esp + 0x80], eax
jmp 0x404a3f
cmp edx, 0x3ad4f228
jg 0x4035c6
cmp edx, 0x36d0dd75
jle 0x403ac0
cmp edx, 0x36d0dd76
je 0x40430c
cmp edx, 0x3894da97
je 0x404318
mov eax, esi
mov ecx, edx
cmp edx, 0x39a4a056
jne 0x402b40
mov eax, esi
mov ecx, 0x6668804
jmp 0x402b40
cmp edx, 0xe65ea0e8
jg 0x403602
cmp edx, 0xdfbb9ea0
jle 0x403b01
cmp edx, 0xdfbb9ea1
je 0x404324
cmp edx, 0xe0c635af
je 0x404338
mov eax, esi
mov ecx, edx
cmp edx, 0xe162ef05
jne 0x402b40
mov eax, esi
mov ecx, 0x8f5b0a76
jmp 0x402b40
cmp edx, 0x214f1a63
jg 0x403668
cmp edx, 0x1f14292c
jle 0x403b79
cmp edx, 0x1f14292d
je 0x404367
cmp edx, 0x1fc23aca
je 0x4043dc
mov eax, esi
mov ecx, edx
cmp edx, 0x200ee6b5
jne 0x402b40
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x44], eax
mov eax, esi
mov ecx, 0xac8095bc
jmp 0x402b40
cmp edx, 0xaa7a8e2b
jg 0x4036c4
cmp edx, 0xa8c7e505
jle 0x403bbd
cmp edx, 0xa8c7e506
je 0x4043f4
cmp edx, 0xa90d64b2
je 0x404428
mov eax, esi
mov ecx, edx
cmp edx, 0xa95e15d2
jne 0x402b40
mov ecx, dword [esp + 0x5c]
mov eax, ecx
shl eax, 8
sub eax, ecx
add eax, dword [esp + 0xa4]
mov dword [esp + 0xdc], eax
mov ecx, 0xec293248
mov eax, esi
jmp 0x402b40
cmp edx, 0x526ea5dd
jle 0x403bed
cmp edx, 0x526ea5de
je 0x403fd2
cmp edx, 0x52df599c
je 0x403feb
mov eax, esi
mov ecx, edx
cmp edx, 0x5498838f
jne 0x402b40
mov eax, esi
mov ecx, 0x47b5195d
jmp 0x402b40
cmp edx, 0xce83c168
jle 0x403c3c
cmp edx, 0xce83c169
je 0x40443c
cmp edx, 0xcf9d1dc5
je 0x403fd2
mov eax, esi
mov ecx, edx
cmp edx, 0xcfa99e74
jne 0x402b40
push dword [esp + 0x40]
push dword [esp + 0x1fc]
push dword [esp + 0x30]
call fcn.004053f0
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xd4]
jmp 0x404978
cmp edx, 0x2fff0ac
jle 0x403c8b
cmp edx, 0x2fff0ad
je 0x404461
cmp edx, 0x5fa98c7
je 0x40447e
mov eax, esi
mov ecx, edx
cmp edx, 0x6668804
jne 0x402b40
mov eax, dword [esp + 0x48]
cmp eax, 4
mov ecx, 0x44d2ca28
mov eax, 0x95364d7d
cmovl ecx, eax
mov eax, esi
jmp 0x402b40
cmp edx, 0x941373f3
jle 0x403cbd
cmp edx, 0x941373f4
je 0x4044a4
cmp edx, 0x9471a36b
je 0x4044b5
mov eax, esi
mov ecx, edx
cmp edx, 0x94b92592
jne 0x402b40
mov ebx, 1
mov dword [esp], 0
mov eax, esi
mov ecx, 0xae127ac3
jmp 0x402b40
cmp edx, 0x448be8a6
jle 0x403d0d
cmp edx, 0x448be8a7
je 0x4044e9
cmp edx, 0x44d2ca28
je 0x404553
mov eax, esi
mov ecx, edx
cmp edx, 0x45093d94
jne 0x402b40
cmp dword [esp + 0x70], 0
mov ecx, 0x27a1d22b
mov eax, 0xaf685d38
jmp 0x404c1c
cmp edx, 0xe8edd915
jle 0x403d5d
cmp edx, 0xe8edd916
je 0x404569
cmp edx, 0xe962da40
je 0x4045d3
mov eax, esi
mov ecx, edx
cmp edx, 0xe9881ad1
jne 0x402b40
mov eax, esi
mov ecx, 0xab3a1a54
jmp 0x402b40
cmp edx, 0x2924e162
jle 0x403d90
cmp edx, 0x2924e163
je 0x4045df
cmp edx, 0x2a95906f
je 0x4045fb
mov eax, esi
mov ecx, edx
cmp edx, 0x2c1f8de7
jne 0x402b40
mov ecx, dword [esp + 0x1f8]
mov eax, dword [ecx + 0x3c]
cmp dword [eax + ecx], 0x4550
lea eax, [eax + ecx]
mov dword [esp + 0x28], eax
mov ecx, 0xb4240843
mov eax, 0xb65d2d1a
jmp 0x404c1c
cmp edx, 0xb1df37c8
jle 0x403dbb
cmp edx, 0xb1df37c9
je 0x40462f
cmp edx, 0xb2808825
je 0x404639
mov eax, esi
mov ecx, edx
cmp edx, 0xb4240843
jne 0x402b40
mov ecx, 0x261c9c9
jmp 0x404be1
cmp edx, 0x639ac081
jle 0x403ded
cmp edx, 0x639ac082
je 0x40464a
cmp edx, 0x65c789c9
je 0x404661
mov eax, esi
mov ecx, edx
cmp edx, 0x711889cd
jne 0x402b40
mov ecx, 0x1a90392c
mov eax, esi
jmp 0x402b40
cmp edx, 0xba99d530
jle 0x403e1f
cmp edx, 0xba99d531
je 0x40466d
cmp edx, 0xc1716d83
je 0x4046ad
mov eax, esi
mov ecx, edx
cmp edx, 0xc1b095c2
jne 0x402b40
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x74]
add eax, ecx
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xb8]
jmp 0x404b63
cmp edx, 0xfc84c57d
jle 0x403e6f
cmp edx, 0xfc84c57e
je 0x4046c1
cmp edx, 0x510141
je 0x4046cd
mov eax, esi
mov ecx, edx
cmp edx, 0x13d4743
jne 0x402b40
cmp byte [esp + 0x1a], 0
mov ecx, 0x214f1a64
mov eax, 0x9471a36b
jmp 0x404cfe
cmp edx, 0x8e3cf180
jle 0x403e97
cmp edx, 0x8e3cf181
je 0x4046e5
cmp edx, 0x8f5b0a76
je 0x4046f5
mov eax, esi
mov ecx, edx
cmp edx, 0x9282b6d7
jne 0x402b40
mov ecx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xb8a1440b
mov ebx, 0x3cc0af62
cmovne edi, ebx
test ecx, edx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov ebx, 4
mov eax, esi
jmp 0x402b40
cmp edx, 0x3cc0af61
jle 0x403ebf
cmp edx, 0x3cc0af62
je 0x4035f6
cmp edx, 0x41d39a54
je 0x404729
mov eax, esi
mov ecx, edx
cmp edx, 0x42b19974
jne 0x402b40
mov eax, esi
mov ecx, 0x241b733f
jmp 0x402b40
cmp edx, 0xe78076d8
jle 0x403ee7
cmp edx, 0xe78076d9
je 0x404747
cmp edx, 0xe7cf8752
je 0x404796
mov eax, esi
mov ecx, edx
cmp edx, 0xe81dbd4d
jne 0x402b40
push dword [esp + 0x78]
push dword [esp + 0x1fc]
push dword [esp + 0x30]
call fcn.004053f0
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x58], eax
mov eax, esi
mov ecx, 0x624c8bbc
jmp 0x402b40
cmp edx, 0x241b733e
jle 0x403f3c
cmp edx, 0x241b733f
je 0x4047de
cmp edx, 0x27a1d22b
je 0x404812
mov eax, esi
mov ecx, edx
cmp edx, 0x27c97dd4
jne 0x402b40
inc dword [esp + 0x10]
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x8e3cf181
mov edi, 0xe162ef05
jmp 0x403d49
cmp edx, 0xac8095bb
jle 0x403f64
cmp edx, 0xac8095bc
je 0x404836
cmp edx, 0xae127ac3
je 0x40488f
mov eax, esi
mov ecx, edx
cmp edx, 0xaec83708
jne 0x402b40
mov ecx, 0x1d96287a
mov eax, dword [esp + 0xc]
mov word [esp + 6], ax
mov eax, esi
jmp 0x402b40
cmp edx, 0x596e1957
je 0x4048d3
cmp edx, 0x599fcb46
je 0x402ae6
mov eax, esi
mov ecx, edx
cmp edx, 0x5ac9c07d
jne 0x402b40
push dword [esp + 0x3c]
push dword [esp + 0x3c]
lea eax, [esp + 0xe8]
push eax
call fcn.0058dc10
add esp, 0xc
mov dword [esp + 8], 0
mov eax, esi
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov ecx, 0xb9a95951
jmp 0x402b40
cmp edx, 0xdbf74952
je 0x403fe6
cmp edx, 0xdd08a047
je 0x4048e7
mov eax, esi
mov ecx, edx
cmp edx, 0xdd198b78
jne 0x402b40
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xc22e4d46
mov edi, 0xdd08a047
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov eax, dword [esp + 0x1f8]
mov edx, dword [esp + 0x6c]
add eax, edx
mov dword [esp + 0xc0], eax
mov eax, esi
jmp 0x402b40
cmp edx, 0xc4ad1a6
je 0x4048fe
cmp edx, 0x13e4eeb2
je 0x404946
mov eax, esi
mov ecx, edx
cmp edx, 0x1a90392c
jne 0x402b40
mov ecx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ebp, ebx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xa2e972c9
mov ebx, 0xf3bc4483
jmp 0x40492d
cmp edx, 0x9fd66bd6
je 0x403fe6
cmp edx, 0xa1e0d0c5
je 0x40495d
mov eax, esi
mov ecx, edx
cmp edx, 0xa2e972c9
jne 0x402b40
mov eax, esi
mov ecx, 0xf3bc4483
jmp 0x402b40
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xa0]
cmp edx, 0x4e6900a1
je 0x402b40
cmp edx, 0x4e95d0b9
je 0x404988
mov eax, esi
mov ecx, edx
cmp edx, 0x4f34e9fe
jne 0x402b40
cmp byte [esp + 0x19], 0
mov ecx, 0xec293248
mov eax, 0x60db4b1a
jmp 0x404cfe
cmp edx, 0xece29b00
je 0x4049e0
cmp edx, 0xed9d7337
je 0x404a03
mov eax, esi
mov ecx, edx
cmp edx, 0xee708447
jne 0x402b40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cmp ecx, dword [eax + 0x14]
setb byte [esp + 0x1a]
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xc5a0e07c
mov edi, 0x13d4743
jmp 0x404715
cmp edx, 0x2ea6a688
je 0x404a49
cmp edx, 0x2f5c55c2
je 0x404a67
mov eax, esi
mov ecx, edx
cmp edx, 0x30b8e933
je 0x403fda
jmp 0x402b40
cmp edx, 0xb9a95951
je 0x404a73
cmp edx, 0xb9f771eb
je 0x404a8a
mov eax, esi
mov ecx, edx
cmp edx, 0xb9f8b7de
jne 0x402b40
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + ecx*4]
add eax, dword [esp + 0x1f8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc8]
jmp 0x403f2c
cmp edx, 0x799363e5
je 0x404acf
cmp edx, 0x7994413a
je 0x404ae3
mov eax, esi
mov ecx, edx
cmp edx, 0x7fe53e78
jne 0x402b40
push esi
call fcn.00595d70
add esp, 4
mov ebp, ebx
mov ebx, dword [0x5c172c]
mov edx, dword [0x5c1730]
lea ecx, [ebx + 1]
imul ecx, ebx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x41d39a54
mov edi, 0xa77fda62
cmovne ebx, edi
cmp ecx, 0xffffffff
mov ecx, ebx
cmove ecx, edi
cmp edx, 0xa
cmovge ecx, ebx
mov ebx, ebp
inc eax
mov dword [esp + 0x3c], eax
cmp eax, 0x100
setae byte [esp + 0x1e]
mov eax, esi
mov dword [esp + 0x38], esi
jmp 0x402b40
cmp edx, 0xc7a9da40
je 0x404aef
cmp edx, 0xc965b1e6
jne 0x404d7c
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
movzx ecx, word [eax + ecx*2]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x34], ecx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x40], eax
mov eax, esi
mov ecx, 0x448be8a7
jmp 0x402b40
cmp edx, 0xf00b5c5f
je 0x404b1a
mov eax, esi
mov ecx, edx
cmp edx, 0xf024d854
jne 0x402b40
mov ecx, 0xd66d4793
jmp 0x404be1
cmp edx, 0x800d6889
je 0x404b26
mov eax, esi
mov ecx, edx
cmp edx, 0x82e83945
jne 0x402b40
inc dword [esp + 0x2c]
mov eax, esi
mov ecx, 0xb9a95951
jmp 0x402b40
cmp edx, 0x31056199
je 0x404b41
mov eax, esi
mov ecx, edx
cmp edx, 0x31eafd83
jne 0x402b40
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xa3c78101
mov edi, 0x599fcb46
jmp 0x402b1f
cmp edx, 0xde18a216
je 0x404b73
mov eax, esi
mov ecx, edx
cmp edx, 0xde28e23c
jne 0x402b40
lea eax, [esp + 0xe0]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
movzx ecx, byte [esp + 0x200]
push ecx
push dword [esp + 0xc]
push eax
call fcn.00402a30
mov ecx, dword [0x5c172c]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
mov ecx, 0x2e8be4bb
mov ebx, 0x52df599c
cmove ecx, ebx
cmp dword [0x5c1730], 0xa
mov dword [esp], eax
setl al
mov edi, 0x2e8be4bb
jmp 0x4043c8
mov eax, esi
mov ecx, dword [esp + 0x98]
cmp edx, 0x1d96287a
je 0x402b40
mov eax, esi
mov ecx, edx
cmp edx, 0x1e40909e
jne 0x402b40
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xac], eax
mov ecx, 0xa95e15d2
mov eax, dword [esp + 0xac]
jmp 0x404456
cmp edx, 0xa3c78101
je 0x404b7f
mov eax, esi
mov ecx, edx
cmp edx, 0xa77fda62
jne 0x402b40
cmp byte [esp + 0x1e], 0
mov ecx, 0x5ac9c07d
mov eax, 0x2a95906f
jmp 0x404cfe
cmp edx, 0x51a22ef1
je 0x404b9b
mov eax, esi
mov ecx, edx
cmp edx, 0x5250f60c
jne 0x402b40
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xe65ea0e9
mov edi, 0x9411c54d
jmp 0x404a31
cmp edx, 0xca8ca68d
je 0x404baf
mov eax, esi
mov ecx, edx
cmp edx, 0xcb1a5cf3
jne 0x402b40
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x85bcb94c
mov edi, 0xba99d531
jmp 0x404a31
cmp edx, 0x261c9c9
je 0x404bd0
mov eax, esi
mov ecx, edx
cmp edx, 0x28caefe
jne 0x402b40
mov eax, dword [esp + 0x50]
mov dword [esp + 0x60], eax
mov eax, esi
mov ecx, dword [esp + 0x90]
jmp 0x402b40
cmp edx, 0x931b2a77
je 0x404bdc
mov eax, esi
mov ecx, edx
cmp edx, 0x9411c54d
jne 0x402b40
mov eax, dword [0x5c172c]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xe65ea0e9
mov edi, 0x9f0e49d
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0xe65ea0e9
jmp 0x402b2e
cmp edx, 0x432574a9
je 0x404bf4
mov eax, esi
mov ecx, edx
cmp edx, 0x436af902
jne 0x402b40
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x8e3cf181
mov edi, 0x27c97dd4
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0x8e3cf181
jmp 0x402b2e
cmp edx, 0xe8317fca
je 0x404c00
mov eax, esi
mov ecx, edx
cmp edx, 0xe8a060b8
jne 0x402b40
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x14], 0
mov ecx, 0xcb1a5cf3
mov eax, 0x931b2a77
jmp 0x404c1c
cmp edx, 0x281ebc2e
je 0x404c26
mov eax, esi
mov ecx, edx
cmp edx, 0x2843d86d
jne 0x402b40
cmp dword [esp + 0x30], 0
mov ecx, 0xf0714727
jmp 0x4042a9
cmp edx, 0xaf685d38
je 0x404c72
mov eax, esi
mov ecx, edx
cmp edx, 0xb175b860
jne 0x402b40
mov eax, dword [esp + 0xc]
cmp byte [eax], 0x23
mov ecx, 0x2f5c55c2
mov eax, 0x5fa98c7
jmp 0x404c1c
cmp edx, 0x60db4b1a
je 0x404c7e
mov eax, esi
mov ecx, edx
cmp edx, 0x624c8bbc
jne 0x402b40
mov eax, dword [esp + 0x58]
mov dword [esp + 0x64], eax
mov eax, esi
mov ecx, dword [esp + 0x8c]
jmp 0x402b40
cmp edx, 0xba68400e
je 0x404caf
mov eax, esi
mov ecx, edx
cmp edx, 0xba942dad
jne 0x402b40
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x2e8be4bb
mov edi, 0xde28e23c
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0x2e8be4bb
jmp 0x402b2e
cmp edx, 0xf5b6a2b6
je 0x404cef
mov eax, esi
mov ecx, edx
cmp edx, 0xf6727362
jne 0x402b40
mov eax, esi
mov ecx, 0x2e9ec2f3
jmp 0x402b40
cmp edx, 0x8889e937
je 0x404d08
mov eax, esi
mov ecx, edx
cmp edx, 0x89560271
jne 0x402b40
mov eax, esi
mov ecx, 0xf29d2281
jmp 0x402b40
cmp edx, 0x3ad4f229
je 0x404d3c
mov eax, esi
mov ecx, edx
cmp edx, 0x3c2698c1
jne 0x402b40
mov eax, esi
mov ecx, 0xd4e02115
jmp 0x402b40
cmp edx, 0xe65ea0e9
je 0x404d53
mov eax, esi
mov ecx, edx
cmp edx, 0xe6a4b0e6
jne 0x402b40
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x10]
push dword [eax + ecx*4]
push dword [esp + 0x1fc]
push dword [esp + 0x30]
call fcn.004053f0
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x4c], eax
mov eax, esi
mov ecx, 0xe0c635af
jmp 0x402b40
cmp edx, 0x214f1a64
je 0x404d5f
mov eax, esi
mov ecx, edx
cmp edx, 0x22ba318a
jne 0x402b40
mov eax, esi
mov ecx, 0x4e95d0b9
jmp 0x402b40
cmp edx, 0xaa7a8e2c
je 0x404d70
mov eax, esi
mov ecx, edx
cmp edx, 0xab3a1a54
jne 0x402b40
mov ecx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ebp, ebx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xe9881ad1
mov edi, 0x9ec3a702
cmovne ebx, edi
test ecx, edx
mov ecx, ebx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, ebx
mov ebx, ebp
cmp dword [esp + 8], 0
setne byte [esp + 0x20]
mov eax, esi
jmp 0x402b40
mov ebx, 1
mov dword [esp], esi
mov eax, esi
mov ecx, 0x732fdcd6
jmp 0x402b40
mov ebx, 4
mov eax, esi
mov ecx, 0x4d8851bb
jmp 0x402b40
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xc22e4d46
mov edi, 0xdd198b78
jmp 0x404a31
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x41d39a54
mov edi, 0x7fe53e78
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0x41d39a54
jmp 0x402b2e
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xde18a216
mov edi, 0xeb285477
jmp 0x404a31
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x3c2698c1
mov edi, 0xc5d34e88
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov eax, dword [esp + 8]
cmp byte [eax], 0x23
sete byte [esp + 0x1f]
mov eax, esi
jmp 0x402b40
mov eax, esi
mov ecx, 0x1a90392c
jmp 0x402b40
cmp dword [esp + 0x48], 0
mov ecx, 0x8889e937
mov eax, 0x7994413a
jmp 0x404c1c
cmp byte [esp + 0x1c], 0
mov ecx, 0xcfa99e74
mov eax, 0xa1e0d0c5
jmp 0x404cfe
mov dword [esp + 0x48], ebx
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x5498838f
mov edi, 0x39a4a056
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0x5498838f
jmp 0x402b2e
mov eax, esi
mov ecx, 0x30b8e933
jmp 0x402b40
mov ecx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ebp, ebx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x5498838f
mov ebx, 0x47b5195d
jmp 0x40492d
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xb8a1440b
mov edi, 0x9282b6d7
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0xb8a1440b
jmp 0x402b2e
lea eax, [esp + 0xe0]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
movzx ecx, byte [esp + 0x200]
mov ebx, 1
push ecx
push dword [esp + 0xc]
push eax
call fcn.00402a30
mov dword [esp], eax
mov eax, esi
mov ecx, 0xde28e23c
jmp 0x402b40
mov dword [esp + 0xdc], 0
movzx eax, byte [esp + 0x200]
lea ecx, [esp + 0xdc]
push ecx
push 0
push eax
push dword [esp + 0x204]
call fcn.00404db0
mov dword [esp + 0x14], eax
test eax, eax
mov ecx, 0x13e4eeb2
mov eax, 0xb9a27a38
jmp 0x404c1c
mov ebx, 4
mov eax, esi
mov ecx, 0x9282b6d7
jmp 0x402b40
mov eax, esi
mov ecx, 0xeb3ae10f
jmp 0x402b40
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xfc84c57e
mov edi, 0xe78076d9
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0xfc84c57e
jmp 0x402b2e
mov eax, esi
mov ecx, 0xdd198b78
jmp 0x402b40
mov eax, esi
mov ecx, 0xee708447
jmp 0x402b40
cmp word [esp + 6], 0xffff
mov ecx, 0x31eafd83
mov eax, 0x9fd66bd6
jmp 0x404c1c
mov eax, dword [esp + 0xd8]
cmp eax, 2
mov ecx, 0x5250f60c
mov eax, 0x510141
jmp 0x404c1c
mov ecx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ebp, ebx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x3c2698c1
mov edi, 0xd4e02115
jmp 0x4047c5
mov eax, esi
mov ecx, 0xba99d531
jmp 0x402b40
mov eax, esi
mov ecx, 0x261c9c9
jmp 0x402b40
mov eax, esi
mov ecx, 0x58d561a7
jmp 0x402b40
cmp dword [esp + 0x24], 0
mov ecx, 0x1fc23aca
mov eax, 0x2cac3c8e
jmp 0x404c1c
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x84], eax
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x3ad4f229
mov edi, 0x281ebc2e
jmp 0x404c5e
lea eax, [esp + 0xe0]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edx, dword [esp + 0x24]
mov ecx, edx
xor ecx, 0xffff0000
and ecx, edx
movzx edx, byte [esp + 0x200]
push edx
push ecx
push eax
call fcn.00402a30
mov ecx, dword [0x5c172c]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0xba68400e
mov ebx, 0x42b19974
cmove ecx, ebx
cmp dword [0x5c1730], 0xa
mov dword [esp], eax
setl al
mov edi, 0xba68400e
cmovge ecx, edi
xor al, dl
cmovne ecx, ebx
mov ebx, 1
mov eax, esi
jmp 0x402b40
movzx eax, word [esp + 6]
cmp dword [esp + 0x24], eax
mov ecx, 0x2cac3c8e
mov eax, 0xa8c7e506
jmp 0x404c1c
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xba68400e
mov edi, 0x1f14292d
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0xba68400e
jmp 0x402b2e
cmp dword [esp + 8], 0
mov ecx, 0x847fb6a0
mov eax, 0xe7cf8752
jmp 0x404c1c
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x14]
mov dword [esp + 0xa8], eax
mov ecx, 0xa95e15d2
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x5c], eax
mov eax, esi
jmp 0x402b40
mov eax, dword [esp + 8]
inc eax
mov dword [esp + 0x30], eax
mov dword [esp + 8], 0
mov eax, esi
mov ecx, 0xe7cf8752
jmp 0x402b40
mov eax, dword [esp + 0xc]
inc eax
push eax
call fcn.0059355e
add esp, 4
mov dword [esp + 0x70], eax
cmp eax, 0xffff
mov ecx, 0xaf685d38
mov eax, 0x45093d94
jmp 0x404bc6
mov ebx, 4
mov eax, esi
mov ecx, 0xeb3ae10f
jmp 0x402b40
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xc965b1e6
mov edi, 0x448be8a7
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0xc965b1e6
jmp 0x402b2e
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xc965b1e6
mov edi, 0x799363e5
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x10]
movzx edi, word [eax + edi*2]
cmovge ecx, edx
mov eax, dword [esp + 0x60]
mov dword [esp + 0x34], edi
mov edx, dword [eax + edi*4]
mov eax, edx
mov dword [esp + 0x40], edx
test edx, edx
setne byte [esp + 0x1b]
mov eax, esi
jmp 0x402b40
mov eax, dword [esp + 0x48]
cmp eax, 4
mov ecx, 0x8889e937
mov eax, 0x436af902
jmp 0x404c1c
push dword [esp + 8]
push dword [esp + 0x10]
call fcn.00595c90
add esp, 8
mov ecx, dword [0x5c172c]
mov edi, dword [0x5c1730]
mov dword [esp + 0x94], ebx
lea ebx, [ecx + 1]
imul ebx, ecx
mov ecx, ebx
xor ecx, 0xfffffffe
test ecx, ebx
sete dh
cmp edi, 0xa
setl dl
xor dl, dh
mov edx, 0xe962da40
mov ebp, 0xf5b6a2b6
cmovne edx, ebp
test ecx, ebx
mov ebx, dword [esp + 0x94]
mov ecx, edx
cmove ecx, ebp
cmp edi, 0xa
cmovge ecx, edx
test eax, eax
setne byte [esp + 0x21]
mov eax, esi
jmp 0x402b40
mov eax, esi
mov ecx, 0xe8edd916
jmp 0x402b40
cmp dword [esp + 0xc], 0x10000
mov ecx, 0xc4ad1a6
mov eax, 0xe8317fca
cmovae ecx, eax
mov eax, esi
jmp 0x402b40
mov ecx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ebp, ebx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xb2808825
mov edi, 0xb9f771eb
jmp 0x4047c5
mov ecx, 0xc6229b78
jmp 0x404be6
mov ebx, 4
mov eax, esi
mov ecx, 0xb9f771eb
jmp 0x402b40
cmp dword [esp + 0x1fc], 0
mov ecx, 0xece29b00
mov eax, 0xb1df37c9
jmp 0x404c1c
mov eax, esi
mov ecx, 0x82e83945
jmp 0x402b40
cmp dword [esp + 0xdc], 0x29
setb byte [esp + 0x19]
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x85bcb94c
mov edi, 0x4f34e9fe
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0x85bcb94c
jmp 0x402b2e
cmp byte [esp + 0x23], 0
mov ecx, 0xf6727362
mov eax, 0x526ea5de
jmp 0x404cfe
mov eax, esi
mov ecx, 0xe78076d9
jmp 0x402b40
mov ebx, 1
mov dword [esp], 0
mov eax, esi
mov ecx, 0x5250f60c
jmp 0x402b40
inc dword [esp + 0x10]
mov eax, esi
mov ecx, 0x27c97dd4
jmp 0x402b40
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xc5a0e07c
mov edi, 0xee708447
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0xc5a0e07c
jmp 0x402b2e
push esi
call fcn.00595d70
add esp, 4
inc eax
mov dword [esp + 0x3c], eax
mov eax, esi
mov dword [esp + 0x38], esi
mov ecx, 0x7fe53e78
jmp 0x402b40
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xfc84c57e
mov edi, 0x596e1957
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
cmp esi, dword [esp + 0x14]
seta byte [esp + 0x1d]
mov eax, esi
jmp 0x402b40
mov ecx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ebp, ebx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xe9881ad1
mov edi, 0xab3a1a54
cmovne ebx, edi
test ecx, edx
mov ecx, ebx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, ebx
mov ebx, ebp
mov eax, esi
jmp 0x402b40
mov ecx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ebp, ebx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xde18a216
mov ebx, 0xd471d56e
jmp 0x40492d
mov edx, dword [esp + 0x70]
mov eax, edx
xor eax, 0xffff0000
and eax, edx
mov dword [esp + 0xc], eax
mov ecx, 0xaf685d38
mov eax, edx
mov word [esp + 6], dx
mov eax, esi
jmp 0x402b40
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x200ee6b5
mov edi, 0x432574a9
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
mov eax, dword [esp + 0x80]
mov dword [esp + 0x44], eax
cmovge ecx, edx
mov dword [esp + 0x10], 0
mov eax, esi
jmp 0x402b40
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x94b92592
mov edi, 0x711889cd
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x404be1
cmp byte [esp + 0x1d], 0
mov ecx, 0x2924e163
mov eax, 0xca8ca68d
jmp 0x404cfe
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x54], eax
mov eax, esi
mov ecx, 0x86a53f72
jmp 0x402b40
mov ecx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ebp, ebx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x22ba318a
mov ebx, 0x4e95d0b9
cmovne edi, ebx
test ecx, edx
mov ecx, edi
cmove ecx, ebx
mov ebx, ebp
cmp eax, 0xa
cmovge ecx, edi
mov eax, esi
jmp 0x402b40
cmp dword [esp + 0xdc], 0
mov ecx, 0xe8a060b8
mov eax, 0xb9a27a38
jmp 0x404c1c
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x40]
add eax, ecx
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x7c], eax
mov eax, esi
mov ecx, 0x4e6900a1
jmp 0x402b40
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x22ba318a
mov edi, 0xc1716d83
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
movzx eax, word [esp + 0x34]
cmovge ecx, edx
movzx edx, word [esp + 6]
inc eax
cmp eax, edx
sete byte [esp + 0x23]
mov eax, esi
jmp 0x402b40
cmp dword [esp + 0xc], 0xffff
mov ecx, 0xb175b860
mov eax, 0xaec83708
cmovb ecx, eax
mov word [esp + 6], 0xffff
mov eax, esi
jmp 0x402b40
mov edx, dword [0x5c172c]
mov eax, dword [0x5c1730]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xe962da40
mov edi, 0xe8edd916
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
mov eax, esi
jmp 0x402b40
mov eax, dword [esp + 0x1f8]
movzx eax, word [eax]
cmp eax, 0x5a4d
mov ecx, 0xf024d854
mov eax, 0x2c1f8de7
jmp 0x404c1c
mov ecx, 0x1d96287a
mov eax, esi
jmp 0x402b40
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x3c]
mov ecx, 0x4e10c3d5
mov eax, 0x800d6889
jmp 0x404bc6
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xb2808825
mov edi, 0xf00b5c5f
cmove ecx, edi
cmp dword [0x5c1730], 0xa
setl dl
mov ebx, 0xb2808825
cmovge ecx, ebx
xor dl, al
cmovne ecx, edi
mov ebx, 4
mov eax, esi
jmp 0x402b40
cmp byte [esp + 0x1b], 0
mov ecx, 0x941373f4
mov eax, 0xbdabf61
jmp 0x404cfe
mov eax, esi
mov ecx, 0x436af902
jmp 0x402b40
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x78]
add eax, ecx
mov dword [esp + 0xb0], eax
mov ecx, 0x624c8bbc
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x58], eax
mov eax, esi
jmp 0x402b40
mov eax, esi
mov ecx, 0x30b8e933
jmp 0x402b40
mov eax, dword [esp + 0x2c]
cmp byte [esp + eax + 0xe0], 0x2e
mov ecx, 0x65c789c9
mov eax, 0xc3657a4
jmp 0x404c1c
push dword [esp + 0x74]
push dword [esp + 0x1fc]
push dword [esp + 0x30]
call fcn.004053f0
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x50], eax
mov eax, esi
mov ecx, 0x28caefe
jmp 0x402b40
mov eax, esi
mov ecx, 0xd471d56e
jmp 0x402b40
push dword [esp + 0x30]
call fcn.0059355e
add esp, 4
mov dword [esp + 0x24], eax
mov eax, esi
mov ecx, 0x599fcb46
jmp 0x402b40
cmp byte [esp + 0x22], 0
mov ecx, 0xdfbb9ea1
mov eax, 0x2cac3c8e
jmp 0x404cfe
mov eax, dword [esp + 0xdc]
add eax, dword [esp + 0x14]
cmp esi, eax
mov ecx, 0x2924e163
mov eax, 0x58880f45
cmovb ecx, eax
mov eax, esi
jmp 0x402b40
mov eax, esi
mov ecx, 0xd66d4793
jmp 0x402b40
mov ecx, 0x1a90392c
mov ebx, 1
mov dword [esp], 0
mov eax, esi
jmp 0x402b40
mov eax, esi
mov ecx, 0x8f5b0a76
jmp 0x402b40
push dword [esp + 0x68]
push dword [esp + 0x10]
call fcn.00595c90
add esp, 8
test eax, eax
mov ecx, 0xc4ad1a6
mov eax, 0xcf9d1dc5
cmove ecx, eax
mov eax, esi
jmp 0x402b40
cmp byte [esp + 0x200], 0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x68], eax
setne byte [esp + 0x1c]
mov eax, dword [0x5c172c]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x3ad4f229
mov edi, 0x9b4c4c6e
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0x3ad4f229
jmp 0x402b2e
mov ecx, 0x2f5c55c2
mov eax, esi
jmp 0x402b40
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x14]
sub eax, ecx
add eax, dword [ecx + 0x24]
mov dword [esp + 0xa4], eax
mov eax, dword [ecx + 0x14]
cmp eax, dword [ecx + 0x18]
mov ecx, 0x1e40909e
mov eax, 0xce83c169
cmova ecx, eax
mov eax, esi
jmp 0x402b40
lea eax, [esp + 0xe0]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edx, dword [esp + 0x24]
mov ecx, edx
xor ecx, 0xffff0000
and ecx, edx
movzx edx, byte [esp + 0x200]
mov ebx, 1
push edx
push ecx
push eax
call fcn.00402a30
mov dword [esp], eax
mov eax, esi
mov ecx, 0x1f14292d
jmp 0x402b40
cmp byte [esp + 0x21], 0
mov ecx, 0xba942dad
mov eax, 0xdbf74952
cmovne ecx, eax
mov eax, esi
jmp 0x402b40
mov eax, dword [0x5c172c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x3894da97
mov edi, 0x58d561a7
cmove ecx, edi
cmp dword [0x5c1730], 0xa
mov edx, 0x3894da97
jmp 0x402b2e
mov eax, dword [esp + 0x84]
mov dword [esp + 0x68], eax
mov eax, esi
mov ecx, 0x281ebc2e
jmp 0x402b40
mov eax, esi
mov ecx, 0x9411c54d
jmp 0x402b40
mov ebx, 2
mov eax, esi
mov ecx, 0x8889e937
jmp 0x402b40
mov eax, esi
mov ecx, 0xa90d64b2
jmp 0x402b40
mov eax, esi
mov ecx, edx
cmp edx, 0xc6229b78
jne 0x402b40
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.005892d5
mov eax, dword [esp]
add esp, 0x1e4
pop esi
pop edi
pop ebx
pop ebp
ret 0xc