Function at 0x4041b0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x15c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x39], 0
mov dword [ebp - 0x40], 0
mov byte [ebp - 0x49], 4
lea esi, [ebp - 0x14d]
mov dword [esp], esi
mov dword [esp + 8], 0x104
mov dword [esp + 4], 0
call fcn.0040b5d0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
sub esp, 0xc
call fcn.00402d10
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x154], 0x3c313249
jmp 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x154]
cmp eax, 0x7f3c085b
jg 0x404300
cmp eax, 0x7f140bf7
jg 0x404310
cmp eax, 0x7ec1d7a3
jg 0x40432a
cmp eax, 0x79722386
jg 0x404350
cmp eax, 0x78e2da58
jg 0x404371
cmp eax, 0x81d25691
jg 0x404399
cmp eax, 0x81b64646
jne 0x404260
movzx eax, byte [ebp - 0x49]
mov eax, dword [eax*4 + section..data]
movzx eax, byte [eax]
mov dword [ebp - 0x44], eax
movzx ecx, byte [ebp - 0x49]
mov ecx, dword [ecx*4 + section..data]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
inc eax
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0040c0f2
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x154], 0x3d69fc77
jmp 0x404260
cmp eax, 0x7f3c085c
jne 0x404260
jmp 0x404247
cmp eax, 0x7f140bf8
jne 0x404260
mov dword [ebp - 0x154], 0x50b67ec0
jmp 0x404260
cmp eax, 0x7ec1d7a4
jne 0x404260
cmp dword [ebp - 0x40], 0
mov eax, 0xde9d5204
jne 0x404345
mov eax, 0xcadfc28a
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x79722387
jne 0x404260
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x154], 0xc69f64cb
jmp 0x404260
cmp eax, 0x78e2da59
jne 0x404260
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00404150
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x154], 0xeb8082cf
jmp 0x404260
cmp eax, 0x84ac3084
jg 0x4043c7
cmp eax, 0x81d25692
jne 0x404260
mov al, byte [ebp - 0x1c]
test al, al
mov eax, 0x12d7cc3d
jne 0x4043bc
mov eax, 0xc2b46fbd
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x88528fe1
jg 0x4043e8
cmp eax, 0x84ac3085
jne 0x404260
mov dword [ebp - 0x154], 0xb9c01fc5
jmp 0x404260
cmp eax, 0x89c430fb
jg 0x404409
cmp eax, 0x88528fe2
jne 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
jmp 0x404260
cmp eax, 0x8b81fffa
jg 0x40443c
cmp eax, 0x89c430fc
jne 0x404260
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.0040c130
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x154], 0x6234be8d
jmp 0x404260
cmp eax, 0x782e0760
jg 0x4044bf
cmp eax, 0x781c0ebf
jg 0x4044d9
cmp eax, 0x76a9dd37
jg 0x4044f3
cmp eax, 0x755284be
jg 0x404524
cmp eax, 0x72e7e718
jg 0x404545
cmp eax, 0x8b8dc1b6
jg 0x40456c
cmp eax, 0x8b81fffb
jne 0x404260
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov edx, 0xfffffffc
sub edx, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.0040ba43
test eax, eax
mov eax, 0x7f3c085c
jne 0x4044b4
mov eax, 0xda294604
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x782e0761
jne 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
jmp 0x404260
cmp eax, 0x781c0ec0
jne 0x404260
mov dword [ebp - 0x154], 0x79722387
jmp 0x404260
cmp eax, 0x76a9dd38
jne 0x404260
mov eax, dword [0x41bf38]
mov dword [esp], eax
call fcn.0040c130
mov dword [0x41bf38], 0
mov dword [ebp - 0x154], 0x294d0305
jmp 0x404260
cmp eax, 0x755284bf
jne 0x404260
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x154], 0x79722387
jmp 0x404260
cmp eax, 0x72e7e719
jne 0x404260
mov al, byte [ebp - 0xd]
test al, al
mov eax, 0x8fca19a
jne 0x404561
mov eax, 0x54326640
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x8bfe37b7
jg 0x40458d
cmp eax, 0x8b8dc1b7
jne 0x404260
mov dword [ebp - 0x154], 0x3df16877
jmp 0x404260
cmp eax, 0x8e99b34c
jg 0x4045ae
cmp eax, 0x8bfe37b8
jne 0x404260
mov dword [ebp - 0x154], 0x1ee4829e
jmp 0x404260
cmp eax, 0x8ef36917
jg 0x4045fd
cmp eax, 0x8e99b34d
jne 0x404260
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov dword [esp], 0x41bf40
call fcn.0040bc85
cmp eax, 1
mov eax, 0xb829a541
jne 0x4045f2
mov eax, 0x210773e6
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x8f4b2cde
jg 0x404674
cmp eax, 0x8ef36918
jne 0x404260
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
movzx edx, byte [ebp - 0x49]
mov edx, dword [edx*4 + section..data]
lea edi, [edx + ecx + 2]
inc edx
mov ebx, dword [ebp - 0x48]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00403750
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00403190
test eax, eax
mov eax, 0x88528fe2
js 0x404669
mov eax, 0xea6efe6c
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x9325d077
jg 0x404695
cmp eax, 0x8f4b2cdf
jne 0x404260
mov dword [ebp - 0x154], 0xfb54b93a
jmp 0x404260
cmp eax, 0x99e31dda
jg 0x4046b6
cmp eax, 0x9325d078
jne 0x404260
mov dword [ebp - 0x154], 0xb888dac7
jmp 0x404260
cmp eax, 0x9c100c33
jg 0x4046da
cmp eax, 0x99e31ddb
jne 0x404260
dec byte [ebp - 0x49]
mov dword [ebp - 0x154], 0xa0856244
jmp 0x404260
cmp eax, 0x9e159233
jg 0x404703
cmp eax, 0x9c100c34
jne 0x404260
cmp dword [ebp - 0x40], 0
setne byte [ebp - 0xf]
mov dword [ebp - 0x154], 0x67e93168
jmp 0x404260
cmp eax, 0x9f576309
jg 0x404724
cmp eax, 0x9e159234
jne 0x404260
mov dword [ebp - 0x154], 0x661ed44f
jmp 0x404260
cmp eax, 0xa080fa4f
jg 0x404752
cmp eax, 0x9f57630a
jne 0x404260
mov al, byte [ebp - 0x10]
test al, al
mov eax, 0x8ef36918
jne 0x404747
mov eax, 0x43bf0502
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0xa0856243
jg 0x404773
cmp eax, 0xa080fa50
jne 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
jmp 0x404260
cmp eax, 0xa108268b
jg 0x4047a4
cmp eax, 0xa0856244
jne 0x404260
mov al, byte [ebp - 0x49]
mov cl, al
dec cl
test al, al
mov byte [ebp - 0x49], cl
setne byte [ebp - 0x1b]
mov dword [ebp - 0x154], 0x6afeb924
jmp 0x404260
cmp eax, 0xa3e4453f
jg 0x4047c5
cmp eax, 0xa108268c
jne 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
jmp 0x404260
cmp eax, 0x7195e5ca
jg 0x4049fa
cmp eax, 0x71925d0d
jg 0x404a37
cmp eax, 0x6afeb923
jg 0x404a58
cmp eax, 0x683fb465
jg 0x404a7f
cmp eax, 0x67e93167
jg 0x404a99
cmp eax, 0x661ed44e
jg 0x404ac0
cmp eax, 0x63f70252
jg 0x404ae6
cmp eax, 0x630c3c18
jg 0x404b00
cmp eax, 0x62c46162
jg 0x404b1a
cmp eax, 0x6234be8c
jg 0x404b46
cmp eax, 0x5edfec36
jg 0x404b60
cmp eax, 0x5e45afa7
jg 0x404b7a
cmp eax, 0x56415c1b
jg 0x404bab
cmp eax, 0x5432663f
jg 0x404bc5
cmp eax, 0x51585f27
jg 0x404be5
cmp eax, 0x50b67ebf
jg 0x404c11
cmp eax, 0x504990e0
jg 0x404c2b
cmp eax, 0x496b8fbc
jg 0x404c4d
cmp eax, 0x46809fa7
jg 0x404c67
cmp eax, 0x4494abff
jg 0x404c81
cmp eax, 0x448e109e
jg 0x404c9b
cmp eax, 0x43bf0501
jg 0x404cb5
cmp eax, 0x4289190e
jg 0x404ccf
cmp eax, 0x41ff8b5f
jg 0x404cf5
cmp eax, 0x4188a1ac
jg 0x404d0f
cmp eax, 0x40481c9d
jg 0x404d5d
cmp eax, 0x3e425be3
jg 0x404d85
cmp eax, 0x3e194173
jg 0x404daa
cmp eax, 0x3df16876
jg 0x404dc4
cmp eax, 0x3d69fc76
jg 0x404dde
cmp eax, 0x3c313248
jg 0x404e39
cmp eax, 0x3656128e
jg 0x404e5f
cmp eax, 0x3463c428
jg 0x404ea9
cmp eax, 0x3443bd38
jg 0x404eef
cmp eax, 0x33f21ba5
jg 0x404f35
cmp eax, 0x33a6b063
jg 0x404f5a
cmp eax, 0x32f30d1b
jg 0x404f74
cmp eax, 0x2de2ae22
jg 0x404f9b
cmp eax, 0x2b54627f
jg 0x404fd0
cmp eax, 0x294d0304
jg 0x404fea
cmp eax, 0x26cdc9e5
jg 0x405016
cmp eax, 0x2646ab1f
jg 0x405030
cmp eax, 0x2536147a
jg 0x405063
cmp eax, 0x24971ab3
jg 0x4050a5
cmp eax, 0x210773e5
jg 0x4050bf
cmp eax, 0x1ee4829d
jg 0x4050d9
cmp eax, 0x1e30fd6b
jg 0x40510a
cmp eax, 0x181a3d78
jg 0x405150
cmp eax, 0xa3e79e80
jg 0x4051a0
cmp eax, 0xa3e44540
jne 0x404260
mov dword [ebp - 0x154], 0x16c636d9
jmp 0x404260
cmp eax, 0x7195e5cb
jne 0x404260
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x2c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0040bc85
mov dword [ebp - 0x154], 0x1e30fd6c
jmp 0x404260
cmp eax, 0x71925d0e
jne 0x404260
movzx eax, byte [ebp - 0x49]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x154], 0xd66aea85
jmp 0x404260
cmp eax, 0x6afeb924
jne 0x404260
mov al, byte [ebp - 0x1b]
test al, al
mov eax, 0xb4706c81
jne 0x404a74
mov eax, 0x26cdc9e6
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x683fb466
jne 0x404260
mov dword [ebp - 0x154], 0x24971ab4
jmp 0x404260
cmp eax, 0x67e93168
jne 0x404260
mov al, byte [ebp - 0xf]
test al, al
mov eax, 0x89c430fc
jne 0x404ab5
mov eax, 0x6234be8d
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x661ed44f
jne 0x404260
cmp dword [ebp - 0x30], 0
mov eax, 0x5edfec37
jne 0x404adb
mov eax, 0x3e194174
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x63f70253
jne 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
jmp 0x404260
cmp eax, 0x630c3c19
jne 0x404260
mov dword [ebp - 0x154], 0xe4e08cde
jmp 0x404260
cmp eax, 0x62c46163
jne 0x404260
cmp dword [0x41bf40], 0
mov eax, 0x8e99b34d
je 0x404b3b
mov eax, 0x3443bd39
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x6234be8d
jne 0x404260
mov dword [ebp - 0x154], 0xb9c01fc5
jmp 0x404260
cmp eax, 0x5edfec37
jne 0x404260
mov dword [ebp - 0x154], 0xa6c7e193
jmp 0x404260
cmp eax, 0x5e45afa8
jne 0x404260
mov eax, dword [0x41bf3c]
mov dword [esp], eax
call fcn.0040c130
mov dword [0x41bf3c], 0
mov dword [ebp - 0x154], 0x4cd38eb
jmp 0x404260
cmp eax, 0x56415c1c
jne 0x404260
mov dword [ebp - 0x154], 0x41ff8b60
jmp 0x404260
cmp eax, 0x54326640
jne 0x404260
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x154], 0xde401f98
jmp 0x404260
cmp eax, 0x51585f28
jne 0x404260
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call fcn.0040c130
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x154], 0xa6c7e193
jmp 0x404260
cmp eax, 0x50b67ec0
jne 0x404260
mov dword [ebp - 0x154], 0xa0856244
jmp 0x404260
cmp eax, 0x504990e1
jne 0x404260
cmp dword [ebp - 0x2c], 0
setne byte [ebp - 0xd]
mov dword [ebp - 0x154], 0x72e7e719
jmp 0x404260
cmp eax, 0x496b8fbd
jne 0x404260
mov dword [ebp - 0x154], 0xe4e08cde
jmp 0x404260
cmp eax, 0x46809fa8
jne 0x404260
mov dword [ebp - 0x154], 0x16c636d9
jmp 0x404260
cmp eax, 0x4494ac00
jne 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
jmp 0x404260
cmp eax, 0x448e109f
jne 0x404260
mov dword [ebp - 0x154], 0xa3e79e81
jmp 0x404260
cmp eax, 0x43bf0502
jne 0x404260
mov dword [ebp - 0x154], 0x8f4b2cdf
jmp 0x404260
cmp eax, 0x4289190f
jne 0x404260
cmp dword [ebp - 0x30], 0
mov eax, 0x3e425be4
jne 0x404cea
mov eax, 0x17260180
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x41ff8b60
jne 0x404260
mov dword [ebp - 0x154], 0xc0a9e00d
jmp 0x404260
cmp eax, 0x4188a1ad
jne 0x404260
mov eax, dword [0x41bf3c]
mov ecx, dword [0x41bf40]
mov edx, dword [ebp - 0x2c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0040bc85
cmp eax, dword [0x41bf40]
mov eax, 0x4494ac00
jne 0x404d52
mov eax, 0x3463c429
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x40481c9e
jne 0x404260
mov eax, dword [ebp - 0x18]
cmp eax, 3
mov eax, 0xebb7c2cc
jl 0x404d7a
mov eax, 0xee1cc5
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x3e425be4
jne 0x404260
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call fcn.0040c130
mov dword [ebp - 0x154], 0x17260180
jmp 0x404260
cmp eax, 0x3e194174
jne 0x404260
mov dword [ebp - 0x154], 0xb888dac7
jmp 0x404260
cmp eax, 0x3df16877
jne 0x404260
mov dword [ebp - 0x154], 0xf7e5ad00
jmp 0x404260
cmp eax, 0x3d69fc77
jne 0x404260
movzx eax, byte [ebp - 0x49]
mov eax, dword [eax*4 + section..data]
movzx eax, byte [eax]
mov dword [ebp - 0x44], eax
movzx ecx, byte [ebp - 0x49]
mov ecx, dword [ecx*4 + section..data]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
inc eax
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0040c0f2
test eax, eax
mov dword [ebp - 0x40], eax
setne byte [ebp - 0x10]
mov dword [ebp - 0x154], 0x9f57630a
jmp 0x404260
cmp eax, 0x3c313249
jne 0x404260
cmp dword [ebp - 0x20], 0
mov eax, 0x726035b
js 0x404e54
mov eax, 0xe09f1e51
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x3656128f
jne 0x404260
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [0x41bf38]
mov byte [eax + ecx + 1], 0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, dword [0x41bf38]
mov byte [ecx + eax], 0
mov dword [0x41bf3c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x154], 0x32c9442
jmp 0x404260
cmp eax, 0x3463c429
jne 0x404260
mov eax, dword [ebp - 0x2c]
mov ecx, 0xfffffffc
sub ecx, dword [0x41bf40]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.0040ba43
test eax, eax
mov eax, 0xfee0c02c
jne 0x404ee4
mov eax, 0xd3cc4f60
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x3443bd39
jne 0x404260
mov eax, dword [ebp - 0x2c]
mov ecx, 1
sub ecx, dword [0x41bf40]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.0040ba43
test eax, eax
mov eax, 0x63f70253
jne 0x404f2a
mov eax, 0xa4d732be
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x33f21ba6
jne 0x404260
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.0040c1d4
mov dword [ebp - 0x154], 0x781c0ec0
jmp 0x404260
cmp eax, 0x33a6b064
jne 0x404260
mov dword [ebp - 0x154], 0x8f4b2cdf
jmp 0x404260
cmp eax, 0x32f30d1c
jne 0x404260
mov al, byte [ebp - 0x11]
test al, al
mov eax, 0xb5566f51
jne 0x404f90
mov eax, 0x56415c1c
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x2de2ae23
jne 0x404260
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xfffffffe
call fcn.0040ba43
mov dword [ebp - 0x154], 0xa425a021
jmp 0x404260
cmp eax, 0x2b546280
jne 0x404260
mov dword [ebp - 0x154], 0x448e109f
jmp 0x404260
cmp eax, 0x294d0305
jne 0x404260
cmp dword [0x41bf3c], 0
mov eax, 0x8bfe37b8
jne 0x40500b
mov eax, 0x4289190f
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x26cdc9e6
jne 0x404260
mov dword [ebp - 0x154], 0x504990e1
jmp 0x404260
cmp eax, 0x2646ab20
jne 0x404260
mov dword [esp], esi
mov dword [esp + 4], 0x4161ec
call fcn.0040c30f
test eax, eax
mov dword [ebp - 0x2c], eax
sete byte [ebp - 0x1c]
mov dword [ebp - 0x154], 0x81d25692
jmp 0x404260
cmp eax, 0x2536147b
jne 0x404260
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
not ecx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.0040ba43
test eax, eax
mov eax, 0x630c3c19
jne 0x40509a
mov eax, 0x71925d0e
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0x24971ab4
jne 0x404260
mov dword [ebp - 0x154], 0xb888dac7
jmp 0x404260
cmp eax, 0x210773e6
jne 0x404260
mov dword [ebp - 0x154], 0xa425a021
jmp 0x404260
cmp eax, 0x1ee4829e
jne 0x404260
mov eax, dword [0x41bf3c]
mov dword [esp], eax
call fcn.0040c130
mov dword [0x41bf3c], 0
mov dword [ebp - 0x154], 0xf2032ea4
jmp 0x404260
cmp eax, 0x1e30fd6c
jne 0x404260
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x2c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0040bc85
mov ecx, dword [ebp - 0x28]
cmp eax, dword [ecx]
setne byte [ebp - 0x19]
mov dword [ebp - 0x154], 0xb430eaa5
jmp 0x404260
cmp eax, 0x181a3d79
jne 0x404260
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00402980
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
add ecx, 2
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040c324
test eax, eax
mov dword [0x41bf38], eax
setne byte [ebp - 0x11]
mov dword [ebp - 0x154], 0x32f30d1c
jmp 0x404260
cmp eax, 0xa425a020
jg 0x4051c1
cmp eax, 0xa3e79e81
jne 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
jmp 0x404260
cmp eax, 0xa4d732bd
jg 0x405203
cmp eax, 0xa425a021
jne 0x404260
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xfffffffe
call fcn.0040ba43
test eax, eax
setne byte [ebp - 0x1a]
mov dword [ebp - 0x154], 0xb5bf187b
jmp 0x404260
cmp eax, 0xa6c7e192
jg 0x405248
cmp eax, 0xa4d732be
jne 0x404260
mov eax, dword [0x41bf40]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0040c0f2
test eax, eax
mov dword [0x41bf3c], eax
mov eax, 0x4188a1ad
jne 0x40523d
mov eax, 0xa080fa50
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0xa84d1dd4
jg 0x40527b
cmp eax, 0xa6c7e193
jne 0x404260
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call fcn.0040c130
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x154], 0xc0de02d5
jmp 0x404260
cmp eax, 0xaa499041
jg 0x4052a9
cmp eax, 0xa84d1dd5
jne 0x404260
mov al, byte [ebp - 0xe]
test al, al
mov eax, 0xceb12e22
jne 0x40529e
mov eax, 0x661ed44f
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0xac1569f8
jg 0x4052ca
cmp eax, 0xaa499042
jne 0x404260
mov dword [ebp - 0x154], 0xd0a62d9e
jmp 0x404260
cmp eax, 0xac48acc0
jg 0x4052eb
cmp eax, 0xac1569f9
jne 0x404260
mov dword [ebp - 0x154], 0x3df16877
jmp 0x404260
cmp eax, 0xb430eaa4
jg 0x40530c
cmp eax, 0xac48acc1
jne 0x404260
mov dword [ebp - 0x154], 0x3d69fc77
jmp 0x404260
cmp eax, 0xb4706c80
jg 0x40533a
cmp eax, 0xb430eaa5
jne 0x404260
mov al, byte [ebp - 0x19]
test al, al
mov eax, 0x7bce37d
jne 0x40532f
mov eax, 0x2536147b
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0xb5566f50
jg 0x405365
cmp eax, 0xb4706c81
jne 0x404260
mov dword [0x41bf40], 0
mov dword [ebp - 0x154], 0x62c46163
jmp 0x404260
cmp eax, 0xb5bf187a
jg 0x405386
cmp eax, 0xb5566f51
jne 0x404260
mov dword [ebp - 0x154], 0x32c9442
jmp 0x404260
cmp eax, 0xb62b4bc4
jg 0x4053b4
cmp eax, 0xb5bf187b
jne 0x404260
mov al, byte [ebp - 0x1a]
test al, al
mov eax, 0xa108268c
jne 0x4053a9
mov eax, 0x17dd2da3
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0xb829a540
jg 0x4053d5
cmp eax, 0xb62b4bc5
jne 0x404260
mov dword [ebp - 0x154], 0xaa499042
jmp 0x404260
cmp eax, 0xb888dac6
jg 0x4053f6
cmp eax, 0xb829a541
jne 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
jmp 0x404260
cmp eax, 0xb9c01fc4
jg 0x405417
cmp eax, 0xb888dac7
jne 0x404260
mov dword [ebp - 0x154], 0x50b67ec0
jmp 0x404260
cmp eax, 0xc0a9e00c
jg 0x405446
cmp eax, 0xb9c01fc5
jne 0x404260
cmp dword [0x41bf3c], 0
setne byte [ebp - 0xe]
mov dword [ebp - 0x154], 0xa84d1dd5
jmp 0x404260
cmp eax, 0xc0de02d4
jg 0x405467
cmp eax, 0xc0a9e00d
jne 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
jmp 0x404260
cmp eax, 0xc2b46fbc
jg 0x405488
cmp eax, 0xc0de02d5
jne 0x404260
mov dword [ebp - 0x154], 0x3e194174
jmp 0x404260
cmp eax, 0xc69f64ca
jg 0x4054c1
cmp eax, 0xc2b46fbd
jne 0x404260
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.00403ac0
test eax, eax
mov dword [ebp - 0x38], eax
mov eax, 0xeb8082cf
jne 0x4054b6
mov eax, 0x78e2da59
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0xc9194c1b
jg 0x4054e2
cmp eax, 0xc69f64cb
jne 0x404260
mov dword [ebp - 0x154], 0xde401f98
jmp 0x404260
cmp eax, 0xcadfc289
jg 0x40550f
cmp eax, 0xc9194c1c
jne 0x404260
cmp dword [ebp - 0x18], 0
mov eax, 0xac1569f9
je 0x405504
mov eax, 0x683fb466
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0xceb12e21
jg 0x405542
cmp eax, 0xcadfc28a
jne 0x404260
cmp dword [0x41bf38], 0
mov eax, 0x76a9dd38
jne 0x405537
mov eax, 0x294d0305
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0xcef76e63
jg 0x405563
cmp eax, 0xceb12e22
jne 0x404260
mov dword [ebp - 0x154], 0x4cd38eb
jmp 0x404260
cmp eax, 0xd0a62d9d
jg 0x405584
cmp eax, 0xcef76e64
jne 0x404260
mov dword [ebp - 0x154], 0x181a3d79
jmp 0x404260
cmp eax, 0xd3cc4f5f
jg 0x4055a5
cmp eax, 0xd0a62d9e
jne 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
jmp 0x404260
cmp eax, 0xd66aea84
jg 0x4055f3
cmp eax, 0xd3cc4f60
jne 0x404260
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 1
call fcn.0040bc85
cmp eax, 4
mov eax, 0x143bf86
jne 0x4055e8
mov eax, 0xbf98095
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0xda294603
jg 0x405620
cmp eax, 0xd66aea85
jne 0x404260
cmp dword [ebp - 0x18], 0
mov eax, 0xc9194c1c
jle 0x405615
mov eax, 0x40481c9e
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0xde401f97
jg 0x405641
cmp eax, 0xda294604
jne 0x404260
mov dword [ebp - 0x154], 0x1e30fd6c
jmp 0x404260
cmp eax, 0xde9d5203
jg 0x405658
cmp eax, 0xde401f98
jne 0x404260
jmp 0x405b47
cmp eax, 0xdf956adc
jg 0x40568b
cmp eax, 0xde9d5204
jne 0x404260
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.0040c130
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x154], 0xcadfc28a
jmp 0x404260
cmp eax, 0xe09f1e50
jg 0x4056ac
cmp eax, 0xdf956add
jne 0x404260
mov dword [ebp - 0x154], 0x41ff8b60
jmp 0x404260
cmp eax, 0xe4e08cdd
jg 0x4056cd
cmp eax, 0xe09f1e51
jne 0x404260
mov dword [ebp - 0x154], 0x2646ab20
jmp 0x404260
cmp eax, 0xe8af6eda
jg 0x4056ee
cmp eax, 0xe4e08cde
jne 0x404260
mov dword [ebp - 0x154], 0x782e0761
jmp 0x404260
cmp eax, 0xea6efe6b
jg 0x405722
cmp eax, 0xe8af6edb
jne 0x404260
mov dword [esp], esi
mov dword [esp + 4], 0x4161ec
call fcn.0040c30f
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x154], 0x2646ab20
jmp 0x404260
cmp eax, 0xeb7e6ee4
jg 0x405743
cmp eax, 0xea6efe6c
jne 0x404260
mov dword [ebp - 0x154], 0x9c100c34
jmp 0x404260
cmp eax, 0xeb8082ce
jg 0x405764
cmp eax, 0xeb7e6ee5
jne 0x404260
mov dword [ebp - 0x154], 0x9c100c34
jmp 0x404260
cmp eax, 0xebb7c2cb
jg 0x4057aa
cmp eax, 0xeb8082cf
jne 0x404260
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
dec ecx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 0
call fcn.0040ba43
test eax, eax
mov eax, 0xa3e44540
jne 0x40579f
mov eax, 0x7f140bf8
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0xec463846
jg 0x4057da
cmp eax, 0xebb7c2cc
jne 0x404260
mov eax, dword [ebp - 0x18]
dec eax
cmp eax, 2
mov eax, 0xac48acc1
jb 0x4057cf
mov eax, 0x683fb466
mov dword [ebp - 0x154], eax
jmp 0x404260
cmp eax, 0xf0b3f7f9
jg 0x4057fb
cmp eax, 0xec463847
jne 0x404260
mov dword [ebp - 0x154], 0x448e109f
jmp 0x404260
cmp eax, 0xf2032ea3
jg 0x40581c
cmp eax, 0xf0b3f7fa
jne 0x404260
mov dword [ebp - 0x154], 0x504990e1
jmp 0x404260
cmp eax, 0xf365d331
jg 0x40583d
cmp eax, 0xf2032ea4
jne 0x404260
mov dword [ebp - 0x154], 0x4289190f
jmp 0x404260
cmp eax, 0xf7e5acff
jg 0x405875
cmp eax, 0xf365d332
jne 0x404260
mov eax, dword [0x41bf3c]
mov dword [esp], eax
call fcn.0040c130
mov dword [0x41bf3c], 0
mov dword [ebp - 0x154], 0x1ee4829e
jmp 0x404260
cmp eax, 0xfb54b939
jg 0x405896
cmp eax, 0xf7e5ad00
jne 0x404260
mov dword [ebp - 0x154], 0x24971ab4
jmp 0x404260
cmp eax, 0xfee0c02b
jg 0x4058b7
cmp eax, 0xfb54b93a
jne 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
jmp 0x404260
cmp eax, 0xee1cc4
jg 0x4058d8
cmp eax, 0xfee0c02c
jne 0x404260
mov dword [ebp - 0x154], 0x7ec1d7a4
jmp 0x404260
cmp eax, 0x143bf85
jg 0x405907
cmp eax, 0xee1cc5
jne 0x404260
cmp eax, 0x32c9441
jg 0x405928
mov eax, dword [ebp - 0x24]
add esp, 0x15c
pop esi
pop edi
pop ebx
pop ebp
ret