Function at 0x406540
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2c], 0x8c7b2f65
jmp 0x406560
mov dword [ebp - 0x2c], eax
nop
nop
mov eax, dword [ebp - 0x2c]
cmp eax, 0x8c7b2f64
jg 0x4065b0
cmp eax, 0x85efec41
jne 0x406560
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp], ecx
mov dword [esp + 8], 4
mov dword [esp + 4], 1
call fcn.00416559
add esp, 0x10
cmp eax, 4
mov eax, 0x5fd6ca47
jne 0x40655b
mov eax, 0x18bd8efc
jmp 0x40655b
cmp eax, 0x7d6a4332
jg 0x4065e0
cmp eax, 0x780e2afb
jg 0x4065f7
cmp eax, 0x8f6b4f62
jg 0x40660e
cmp eax, 0x8c7b2f65
jne 0x406560
mov dword [ebp - 0x2c], 0xa5e8b107
jmp 0x406560
cmp eax, 0x7d6a4333
jne 0x406560
mov dword [ebp - 0x2c], 0x4bd7e344
jmp 0x406560
cmp eax, 0x780e2afc
jne 0x406560
mov dword [ebp - 0x2c], 0x535168b9
jmp 0x406560
cmp eax, 0x92d9fe7b
jg 0x40662c
cmp eax, 0x8f6b4f63
jne 0x406560
mov dword [ebp - 0x2c], 0xb075a63c
jmp 0x406560
cmp eax, 0x9e6d145c
jg 0x40664a
cmp eax, 0x92d9fe7c
jne 0x406560
mov dword [ebp - 0x2c], 0x3db60528
jmp 0x406560
cmp eax, 0xa2d14678
jg 0x406694
cmp eax, 0x9e6d145d
jne 0x406560
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp], ecx
mov dword [esp + 8], 1
mov dword [esp + 4], 1
call fcn.00416559
add esp, 0x10
mov dword [ebp - 0x2c], 0x18ec83a9
jmp 0x406560
cmp eax, 0x6e0cebeb
jg 0x4067a0
cmp eax, 0x6b7749d8
jg 0x4067b7
cmp eax, 0x686f5ced
jg 0x4067d8
cmp eax, 0x62fe27ad
jg 0x406824
cmp eax, 0x5fd6ca46
jg 0x40683b
cmp eax, 0x5dff4bd0
jg 0x406852
cmp eax, 0x572dc1d8
jg 0x406869
cmp eax, 0x535168b8
jg 0x4068b5
cmp eax, 0x4d61108f
jg 0x4068dc
cmp eax, 0x4bd7e343
jg 0x4068f3
cmp eax, 0x4ae6a49d
jg 0x406944
cmp eax, 0x46f26da8
jg 0x40695b
cmp eax, 0x44619175
jg 0x406972
cmp eax, 0x3ef2e2fe
jg 0x406992
cmp eax, 0x3db60527
jg 0x4069a9
cmp eax, 0x36fa5bf3
jg 0x4069c0
cmp eax, 0x2f3d2d5c
jg 0x4069e4
cmp eax, 0x2c4b38ee
jg 0x406a09
cmp eax, 0x289a4fb9
jg 0x406a52
cmp eax, 0x23ea37ba
jg 0x406a69
cmp eax, 0x21e71028
jg 0x406a80
cmp eax, 0xa33d321b
jg 0x406a97
cmp eax, 0xa2d14679
jne 0x406560
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], 0xe3b76575
jmp 0x406560
cmp eax, 0x6e0cebec
jne 0x406560
mov dword [ebp - 0x2c], 0x46f26da9
jmp 0x406560
cmp eax, 0x6b7749d9
jne 0x406560
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov dword [ebp - 0x2c], 0xa6808a50
jmp 0x406560
cmp eax, 0x686f5cee
jne 0x406560
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, 0xfffffffc
sub ecx, dword [eax]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.00416317
add esp, 0xc
test eax, eax
mov eax, 0x62fe27ae
jne 0x40681c
mov eax, 0x85efec41
mov dword [ebp - 0x2c], eax
jmp 0x406560
cmp eax, 0x62fe27ae
jne 0x406560
mov dword [ebp - 0x2c], 0x19507173
jmp 0x406560
cmp eax, 0x5fd6ca47
jne 0x406560
mov dword [ebp - 0x2c], 0x535168b9
jmp 0x406560
cmp eax, 0x5dff4bd1
jne 0x406560
mov dword [ebp - 0x2c], 0x289a4fba
jmp 0x406560
cmp eax, 0x572dc1d9
jne 0x406560
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, 1
sub ecx, dword [eax]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.00416317
add esp, 0xc
test eax, eax
mov eax, 0xe88806f5
jne 0x4068ad
mov eax, 0xfbe629f1
mov dword [ebp - 0x2c], eax
jmp 0x406560
cmp eax, 0x535168b9
jne 0x406560
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, 0xe694adef
cmp dword [ecx], 0
jne 0x4068d4
mov eax, 0x2f3d2d5d
mov dword [ebp - 0x2c], eax
jmp 0x406560
cmp eax, 0x4d611090
jne 0x406560
mov dword [ebp - 0x2c], 0x535168b9
jmp 0x406560
cmp eax, 0x4bd7e344
jne 0x406560
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x14]
mov edx, dword [edx]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00416559
add esp, 0x10
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
cmp eax, dword [ecx]
setne byte [ebp - 0xd]
mov dword [ebp - 0x2c], 0x36fa5bf4
jmp 0x406560
cmp eax, 0x4ae6a49e
jne 0x406560
mov dword [ebp - 0x2c], 0x18ec83a9
jmp 0x406560
cmp eax, 0x46f26da9
jne 0x406560
mov dword [ebp - 0x2c], 0xe3b76575
jmp 0x406560
cmp eax, 0x44619176
jne 0x406560
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
mov dword [ebp - 0x2c], 0xa6808a50
jmp 0x406560
cmp eax, 0x3ef2e2ff
jne 0x406560
mov dword [ebp - 0x2c], 0x535168b9
jmp 0x406560
cmp eax, 0x3db60528
jne 0x406560
mov dword [ebp - 0x2c], 0x535168b9
jmp 0x406560
cmp eax, 0x36fa5bf4
jne 0x406560
mov al, byte [ebp - 0xd]
test al, al
mov eax, 0x3ef2e2ff
jne 0x4069dc
mov eax, 0x2c4b38ef
mov dword [ebp - 0x2c], eax
jmp 0x406560
cmp eax, 0x2f3d2d5d
jne 0x406560
mov ecx, dword [ebp - 0x14]
mov eax, 0xb60b49fb
cmp dword [ecx], 0
jne 0x406a01
mov eax, 0x44619176
mov dword [ebp - 0x2c], eax
jmp 0x406560
cmp eax, 0x2c4b38ef
jne 0x406560
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov eax, dword [eax]
not eax
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 1
call fcn.00416317
add esp, 0xc
test eax, eax
mov eax, 0x5dff4bd1
jne 0x406a4a
mov eax, 0x6b7749d9
mov dword [ebp - 0x2c], eax
jmp 0x406560
cmp eax, 0x289a4fba
jne 0x406560
mov dword [ebp - 0x2c], 0xc7452679
jmp 0x406560
cmp eax, 0x23ea37bb
jne 0x406560
mov dword [ebp - 0x2c], 0x92d9fe7c
jmp 0x406560
cmp eax, 0x21e71029
jne 0x406560
mov dword [ebp - 0x2c], 0x46f26da9
jmp 0x406560
cmp eax, 0xa5e8b106
jg 0x406aea
cmp eax, 0xa33d321c
jne 0x406560
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, 0xfffffffc
sub ecx, dword [eax]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.00416317
add esp, 0xc
test eax, eax
mov eax, 0x1cfc909
jne 0x406ae2
mov eax, 0x7d6a4333
mov dword [ebp - 0x2c], eax
jmp 0x406560
cmp eax, 0xa6808a4f
jg 0x406b7a
cmp eax, 0xa5e8b107
jne 0x406560
mov eax, 4
call fcn.00416160
mov dword [ebp - 0x28], esp
mov eax, 4
call fcn.00416160
mov dword [ebp - 0x24], esp
mov eax, 4
call fcn.00416160
mov dword [ebp - 0x20], esp
mov eax, 4
call fcn.00416160
mov dword [ebp - 0x1c], esp
mov eax, 4
call fcn.00416160
mov dword [ebp - 0x18], esp
mov eax, 4
call fcn.00416160
mov dword [ebp - 0x14], esp
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 0x14]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov dword [eax], edi
mov eax, dword [ebp - 0x1c]
mov dword [eax], ebx
mov eax, dword [ebp - 0x18]
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov dword [eax], 0
mov dword [ebp - 0x2c], 0x6e0cebec
jmp 0x406560
cmp eax, 0xac76e482
jg 0x406b91
cmp eax, 0xa6808a50
jne 0x406560
jmp 0x407097
cmp eax, 0xaf8c1afe
jg 0x406baf
cmp eax, 0xac76e483
jne 0x406560
mov dword [ebp - 0x2c], 0x535168b9
jmp 0x406560
cmp eax, 0xb075a63b
jg 0x406bcd
cmp eax, 0xaf8c1aff
jne 0x406560
mov dword [ebp - 0x2c], 0x92d9fe7c
jmp 0x406560
cmp eax, 0xb60b49fa
jg 0x406beb
cmp eax, 0xb075a63c
jne 0x406560
mov dword [ebp - 0x2c], 0x535168b9
jmp 0x406560
cmp eax, 0xc14e90ee
jg 0x406c09
cmp eax, 0xb60b49fb
jne 0x406560
mov dword [ebp - 0x2c], 0xd302bdf8
jmp 0x406560
cmp eax, 0xc7452678
jg 0x406c54
cmp eax, 0xc14e90ef
jne 0x406560
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xfffffffe
call fcn.00416317
add esp, 0xc
test eax, eax
mov eax, 0xf9692667
jne 0x406c4c
mov eax, 0x21e71029
mov dword [ebp - 0x2c], eax
jmp 0x406560
cmp eax, 0xcd9c3ccb
jg 0x406c72
cmp eax, 0xc7452679
jne 0x406560
mov dword [ebp - 0x2c], 0x535168b9
jmp 0x406560
cmp eax, 0xd1185363
jg 0x406cf2
cmp eax, 0xcd9c3ccc
jne 0x406560
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov dword [ebp - 0x30], esp
mov eax, 4
call fcn.00416160
mov dword [ebp - 0x34], esp
mov eax, 4
call fcn.00416160
mov dword [ebp - 0x38], esp
mov eax, 4
call fcn.00416160
mov edx, esp
mov eax, 4
call fcn.00416160
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edi
mov eax, dword [ebp - 0x38]
mov dword [eax], ebx
mov dword [edx], esi
mov dword [esp], 0
mov dword [ebp - 0x2c], 0xa5e8b107
jmp 0x406560
cmp eax, 0xd302bdf7
jg 0x406d1d
cmp eax, 0xd1185364
jne 0x406560
mov al, byte [ebp - 0xe]
test al, al
mov eax, 0x4d611090
jne 0x406d15
mov eax, 0xc14e90ef
mov dword [ebp - 0x2c], eax
jmp 0x406560
cmp eax, 0xe2c8d843
jg 0x406d4e
cmp eax, 0xd302bdf8
jne 0x406560
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.0041618b
add esp, 4
mov dword [ebp - 0x2c], 0x1021cf2e
jmp 0x406560
cmp eax, 0xe3b76574
jg 0x406d6c
cmp eax, 0xe2c8d844
jne 0x406560
mov dword [ebp - 0x2c], 0x19507173
jmp 0x406560
cmp eax, 0xe610a781
jg 0x406d96
cmp eax, 0xe3b76575
jne 0x406560
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
cmp dword [eax], 0
sete byte [ebp - 0xf]
mov dword [ebp - 0x2c], 0xe66335e6
jmp 0x406560
cmp eax, 0x19507172
jg 0x406dce
cmp eax, 0xe66335e5
jg 0x406de5
cmp eax, 0xe610a782
jne 0x406560
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.0041618b
add esp, 4
mov dword [ebp - 0x2c], 0xd302bdf8
jmp 0x406560
cmp eax, 0x19507173
jne 0x406560
mov dword [ebp - 0x2c], 0xac76e483
jmp 0x406560
cmp eax, 0xe694adee
jg 0x406e10
cmp eax, 0xe66335e6
jne 0x406560
mov al, byte [ebp - 0xf]
test al, al
mov eax, 0x4ae6a49e
jne 0x406e08
mov eax, 0x572dc1d9
mov dword [ebp - 0x2c], eax
jmp 0x406560
cmp eax, 0xe88806f4
jg 0x406e43
cmp eax, 0xe694adef
jne 0x406560
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.0041618b
add esp, 4
mov dword [ebp - 0x2c], 0x2f3d2d5d
jmp 0x406560
cmp eax, 0xf9692666
jg 0x406e61
cmp eax, 0xe88806f5
jne 0x406560
mov dword [ebp - 0x2c], 0x535168b9
jmp 0x406560
cmp eax, 0xfbe629f0
jg 0x406e7f
cmp eax, 0xf9692667
jne 0x406560
mov dword [ebp - 0x2c], 0x535168b9
jmp 0x406560
cmp eax, 0xfd86ee0c
jg 0x406ed1
cmp eax, 0xfbe629f1
jne 0x406560
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.004161c3
add esp, 8
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, 0x7626347
cmp dword [ecx], 0
jne 0x406ec9
mov eax, 0x780e2afc
mov dword [ebp - 0x2c], eax
jmp 0x406560
cmp eax, 0x1cfc908
jg 0x406f21
cmp eax, 0xfd86ee0d
jne 0x406560
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x14]
mov edx, dword [edx]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00416559
add esp, 0x10
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], 0x4bd7e344
jmp 0x406560
cmp eax, 0x7626346
jg 0x406f3f
cmp eax, 0x1cfc909
jne 0x406560
mov dword [ebp - 0x2c], 0x535168b9
jmp 0x406560
cmp eax, 0x8a8c272
jg 0x406f9d
cmp eax, 0x7626347
jne 0x406560
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx]
mov edx, dword [edx]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00416559
add esp, 0x10
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
mov ecx, 0x8a8c273
cmp eax, dword [edx]
jne 0x406f95
mov ecx, 0x686f5cee
mov dword [ebp - 0x2c], ecx
jmp 0x406560
cmp eax, 0xbbb2bec
jg 0x406fbb
cmp eax, 0x8a8c273
jne 0x406560
mov dword [ebp - 0x2c], 0x8f6b4f63
jmp 0x406560
cmp eax, 0xe1202fd
jg 0x406fd9
cmp eax, 0xbbb2bed
jne 0x406560
mov dword [ebp - 0x2c], 0x289a4fba
jmp 0x406560
cmp eax, 0x1021cf2d
jg 0x406ff7
cmp eax, 0xe1202fe
jne 0x406560
mov dword [ebp - 0x2c], 0x8f6b4f63
jmp 0x406560
cmp eax, 0x1021cf2e
je 0x407041
cmp eax, 0x18bd8efc
jne 0x40704d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.004161c3
add esp, 8
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x14]
mov eax, 0xa33d321c
cmp dword [ecx], 0
jne 0x407039
mov eax, 0x23ea37bb
mov dword [ebp - 0x2c], eax
jmp 0x406560
mov dword [ebp - 0x2c], 0x44619176
jmp 0x406560
cmp eax, 0x18ec83a9
jne 0x406560
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp], ecx
mov dword [esp + 8], 1
mov dword [esp + 4], 1
call fcn.00416559
add esp, 0x10
cmp eax, 1
setne byte [ebp - 0xe]
mov dword [ebp - 0x2c], 0xd1185364
jmp 0x406560
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret