Function at 0x4196a0
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov esi, esp
mov eax, dword [0x4353ac]
xor eax, ebp
mov dword [esi + 0xa0], eax
mov dword [esi + 4], ecx
mov eax, dword [0x435628]
lea edx, [eax - 1]
imul edx, eax
mov eax, dword [0x43562c]
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xa]
cmp eax, 0xa
lea eax, [ecx + 0x3c]
mov dword [esi + 0x68], eax
lea eax, [ecx + 0x4c]
setl byte [esi + 0xb]
mov dword [esi + 0x94], eax
mov eax, 0x3be14d8d
jmp 0x419740
mov eax, dword [esi + 4]
mov edi, 0xe6afc4bc
mov ebx, 0xee3dc67
cmp dword [eax + 0x38], 0
mov eax, dword [0x435628]
lea ecx, [eax - 1]
setne byte [esi + 0xd]
imul ecx, eax
mov eax, 0xee3dc67
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x43562c], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
nop
cmp eax, 0x1a314153
jle 0x4197c0
cmp eax, 0x40edd4b3
jg 0x419830
cmp eax, 0x30255705
jg 0x4198d1
cmp eax, 0x2451d21b
jg 0x419a31
cmp eax, 0x1a314154
je 0x419c68
cmp eax, 0x1ea1af3b
je 0x419c7f
cmp eax, 0x23bb1cd0
jne 0x419740
mov eax, dword [esi]
mov ecx, dword [ebp + 0xc]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x6c]
mov eax, dword [esi]
mov dword [eax], ecx
mov eax, dword [esi + 0x10]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
mov eax, dword [esi + 4]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x1c]
cmp dword [ecx], 0
je 0x41a158
mov eax, dword [eax + 0x2c]
mov eax, dword [eax]
jmp 0x41a15a
cmp eax, 0xc42b8bdd
jg 0x419890
cmp eax, 0xa9c3a56a
jg 0x419913
cmp eax, 0x96bbd5ca
jg 0x419a6c
cmp eax, 0x8a454d7f
je 0x419cb8
cmp eax, 0x93c577fb
je 0x419ccb
cmp eax, 0x96ad1ac6
jne 0x419740
mov eax, dword [0x435628]
mov edi, 0xe2108609
mov ebx, 0x2451d21c
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x2451d21c
jmp 0x419727
cmp eax, 0x62dfaece
jg 0x41995c
cmp eax, 0x575d0dae
jg 0x419abb
cmp eax, 0x40edd4b4
je 0x419ce7
cmp eax, 0x4b0612dd
je 0x419d20
cmp eax, 0x4b9d8f80
jne 0x419740
mov edi, dword [esi + 0x54]
mov edx, dword [esi + 0x44]
cmp dword [esi + 0x50], 0
mov eax, 0x93c577fb
mov ecx, 0xae9ed07c
cmove eax, ecx
mov dword [esi + 0x64], edi
mov dword [esi + 0x5c], edx
jmp 0x419740
cmp eax, 0xeed431c5
jle 0x4199ef
cmp eax, 0xf49f90e
jg 0x419b54
cmp eax, 0xeed431c6
je 0x419d71
cmp eax, 0xaf1ed46
je 0x419da8
cmp eax, 0xee3dc67
jne 0x419740
mov eax, 0xe4fa325e
jmp 0x419740
cmp eax, 0x3b12834c
jg 0x419b7f
cmp eax, 0x30255706
je 0x419db5
cmp eax, 0x32379088
je 0x419dd4
cmp eax, 0x32f94e0b
jne 0x419740
cmp byte [esi + 0xc], 0
mov eax, 0x30255706
mov ecx, 0x57c24798
cmovne eax, ecx
jmp 0x419740
cmp eax, 0xb4571525
jg 0x419bca
cmp eax, 0xa9c3a56b
je 0x419e06
cmp eax, 0xab406610
je 0x419e30
cmp eax, 0xae9ed07c
jne 0x419740
mov eax, dword [esi]
mov ecx, dword [ebp + 0xc]
sub ecx, dword [eax]
mov eax, dword [ebp + 0x10]
sbb eax, 0
mov dword [esi + 0x64], ecx
mov dword [esi + 0x5c], eax
mov eax, 0x93c577fb
jmp 0x419740
cmp eax, 0x78b853de
jg 0x419c11
cmp eax, 0x62dfaecf
je 0x419e4d
cmp eax, 0x67aabe40
je 0x419e75
cmp eax, 0x69dc7d0d
jne 0x419740
push eax
mov eax, esp
mov dword [esi], eax
push eax
mov eax, dword [0x435628]
mov edx, dword [0x43562c]
mov edi, 0x7bfda4e1
mov ecx, 0x32f94e0b
mov dword [esi + 0x88], esp
lea ebx, [eax - 1]
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
cmovne edi, ecx
cmp ebx, 0xffffffff
mov eax, edi
cmove eax, ecx
cmp edx, 0xa
mov edx, dword [ebp + 0x10]
mov ecx, dword [esi + 0x88]
cmovge eax, edi
cmp dword [ebp + 0xc], 1
mov dword [esi + 0x10], ecx
sbb edx, 0
setl byte [esi + 0xc]
jmp 0x419740
cmp eax, 0xe2108608
jle 0x419c3c
cmp eax, 0xe2108609
je 0x41a1b5
cmp eax, 0xe4fa325e
je 0x4196fa
cmp eax, 0xe6afc4bc
jne 0x419740
cmp byte [esi + 0xd], 0
mov eax, 0x1ea1af3b
mov ecx, 0xb8c37e37
cmovne eax, ecx
jmp 0x419740
cmp eax, 0x2451d21c
je 0x419e92
cmp eax, 0x29094ee6
je 0x419e9c
cmp eax, 0x2dec75d5
jne 0x419740
mov eax, dword [0x435628]
mov ecx, dword [0x43562c]
mov edi, 0x17fca2c0
mov ebx, 0x67aabe40
jmp 0x419c94
cmp eax, 0x96bbd5cb
je 0x419eb8
cmp eax, 0x9718e137
je 0x419ed7
cmp eax, 0xa12fcbf1
jne 0x419740
cmp dword [esi + 0x18], 0
mov eax, dword [0x435628]
mov edi, 0xc42b8bde
mov ebx, 0xaf1ed46
lea ecx, [eax - 1]
setne byte [esi + 0xf]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xaf1ed46
jmp 0x419727
cmp eax, 0x575d0daf
je 0x419f54
cmp eax, 0x57c24798
je 0x419f96
cmp eax, 0x5f0cbbfa
jne 0x419740
mov eax, dword [esi + 4]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x34], eax
mov eax, 0x5273325f
nop dword [eax + eax]
cmp eax, 0xe88a80b7
je 0x419b30
cmp eax, 0x390ed961
je 0x419fae
cmp eax, 0x5273325f
jne 0x419b00
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, 0xe88a80b7
cmp ecx, eax
mov eax, 0x390ed961
cmove eax, edx
jmp 0x419b00
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x50]
mov ecx, dword [ecx + 0x54]
mov edx, dword [esi + 0x14]
mov edi, dword [edx + 0xc]
sub ecx, eax
mov dword [edi], eax
mov edi, dword [edx + 0x1c]
mov dword [edi], eax
mov eax, dword [edx + 0x2c]
mov dword [eax], ecx
mov eax, 0x390ed961
jmp 0x419b00
cmp eax, 0xf49f90f
je 0x419fd4
cmp eax, 0x14eab9e0
je 0x419ff0
cmp eax, 0x17fca2c0
jne 0x419740
mov eax, 0x2dec75d5
jmp 0x419740
cmp eax, 0x3b12834d
je 0x41a00f
cmp eax, 0x3be14d8d
je 0x41a059
cmp eax, 0x3ce89c12
jne 0x419740
mov eax, dword [esi + 0x28]
push dword [eax]
push dword [esi + 0x18]
push 1
push dword [esi + 0x2c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
mov ecx, dword [esi]
mov ecx, dword [ecx]
sub ecx, eax
mov eax, dword [esi]
mov dword [eax], ecx
mov eax, 0x575d0daf
jmp 0x419740
cmp eax, 0xb4571526
je 0x41a086
cmp eax, 0xb6f9a8eb
je 0x41a0c1
cmp eax, 0xb8c37e37
jne 0x419740
mov eax, dword [0x435628]
mov edi, 0xeed431c6
mov ebx, 0xf49f90f
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xf49f90f
jmp 0x419727
cmp eax, 0x78b853df
je 0x41a0e4
cmp eax, 0x7b4c3b7f
je 0x41a12e
cmp eax, 0x7bfda4e1
jne 0x419740
mov eax, 0x69dc7d0d
jmp 0x419740
cmp eax, 0xc42b8bde
je 0x41a138
cmp eax, 0xc7ea7635
jne 0x419740
mov eax, dword [esi + 0x78]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x1c], eax
mov eax, 0x4b0612dd
jmp 0x419740
mov eax, dword [0x435628]
mov ecx, dword [0x43562c]
mov edi, 0xaf1ed46
mov ebx, 0xa12fcbf1
jmp 0x419c94
mov eax, dword [0x435628]
mov ecx, dword [0x43562c]
mov edi, 0x62dfaecf
mov ebx, 0x23bb1cd0
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
cmovne edi, ebx
cmp edx, 0xffffffff
jmp 0x419f86
mov ecx, dword [esi + 0x9c]
mov eax, 0x40edd4b4
mov dword [esi + 0x48], ecx
jmp 0x419740
mov eax, dword [esi + 0x70]
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x64]
mov edx, dword [esi + 0x5c]
mov eax, 0x4b0612dd
mov dword [esi + 0x20], ecx
mov dword [esi + 0x1c], edx
jmp 0x419740
mov eax, dword [esi + 0x90]
mov ecx, 0x3b12834d
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 0x2c], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
cmp eax, 0xfff
mov eax, 0x1a314154
cmova eax, ecx
jmp 0x419740
mov eax, dword [0x435628]
mov ebx, 0x96ad1ac6
mov edi, 0x2451d21c
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x2451d21c
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x43562c], 0xa
setl dl
cmovge eax, edi
mov edi, dword [esi + 0x20]
xor dl, cl
mov edx, dword [esi + 0x1c]
cmovne eax, ebx
mov dword [esi + 0x80], edi
mov dword [esi + 0x84], edx
jmp 0x419740
mov ecx, dword [esi + 4]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char___long_long___int64__]
mov dword [esi + 0x78], eax
mov eax, dword [0x435628]
mov ebx, 0xc7ea7635
mov dword [esi + 0x7c], edx
mov edi, 0xf49f90f
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xf49f90f
jmp 0x41a17f
mov eax, dword [esi + 0x18]
mov eax, 0xa12fcbf1
jmp 0x419740
mov eax, dword [0x435628]
mov ebx, 0xe4fa325e
mov edi, 0xee3dc67
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xee3dc67
jmp 0x41a17f
mov eax, dword [0x435628]
mov ecx, dword [0x43562c]
mov edi, 0x7b4c3b7f
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x96bbd5cb
jmp 0x419f81
mov eax, dword [esi + 0x40]
mov ecx, 0xae9ed07c
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0x94]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
cmp dword [eax], 0
mov eax, 0x14eab9e0
cmove eax, ecx
jmp 0x419740
mov eax, dword [esi + 0x38]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x4c], 0
mov dword [esi + 0x58], eax
mov eax, 0xb4571526
jmp 0x419740
mov eax, dword [esi]
mov eax, dword [esi]
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 0
je 0x41a1a4
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax]
jmp 0x41a1a6
mov eax, dword [esi + 0x38]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x50], 0
mov dword [esi + 0x44], eax
mov eax, 0x4b9d8f80
jmp 0x419740
mov eax, 0x96ad1ac6
jmp 0x419740
cmp byte [esi + 0xe], 0
mov edx, dword [ebp + 8]
mov eax, 0xa9c3a56b
mov ecx, 0x78b853df
cmovne eax, ecx
mov dword [esi + 0x40], edx
jmp 0x419740
mov eax, dword [0x435628]
mov edi, 0xab406610
mov ebx, 0x7b4c3b7f
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x7b4c3b7f
jmp 0x41971f
mov eax, dword [esi + 4]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x34], eax
mov eax, 0x5273325f
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xe88a80b7
je 0x419f30
cmp eax, 0x390ed961
je 0x41a14e
cmp eax, 0x5273325f
jne 0x419f00
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, 0xe88a80b7
cmp ecx, eax
mov eax, 0x390ed961
cmove eax, edx
jmp 0x419f00
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x50]
mov ecx, dword [ecx + 0x54]
mov edx, dword [esi + 0x14]
mov edi, dword [edx + 0xc]
sub ecx, eax
mov dword [edi], eax
mov edi, dword [edx + 0x1c]
mov dword [edi], eax
mov eax, dword [edx + 0x2c]
mov dword [eax], ecx
mov eax, 0x390ed961
jmp 0x419f00
mov eax, dword [0x435628]
mov ecx, dword [0x43562c]
mov edi, 0x17fca2c0
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x2dec75d5
cmovne edi, ebx
test eax, edx
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x419740
mov dword [esi + 0x20], 0
mov eax, 0x4b0612dd
mov dword [esi + 0x1c], 0
jmp 0x419740
mov eax, dword [0x435628]
mov ebx, 0x8a454d7f
mov edi, 0x9718e137
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x9718e137
jmp 0x41a187
mov ecx, dword [esi + 4]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char___long_long___int64__]
mov eax, 0xeed431c6
jmp 0x419740
mov eax, dword [0x435628]
mov edi, 0x5f0cbbfa
mov ebx, 0x9718e137
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x9718e137
jmp 0x41971f
mov eax, dword [esi + 0x28]
push dword [eax]
push 0xfff
push 1
push dword [esi + 0x2c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
mov ecx, dword [esi + 0x2c]
add ecx, eax
mov dword [esi + 0x98], ecx
mov ecx, dword [esi]
mov ecx, dword [ecx]
sub ecx, eax
cmp eax, 0xfff
mov eax, 0xb6f9a8eb
mov dword [esi + 0x74], ecx
mov ecx, dword [esi]
mov edx, dword [esi + 0x74]
mov dword [ecx], edx
mov edx, 0x32379088
cmove eax, edx
jmp 0x419740
mov cl, byte [esi + 0xa]
mov al, byte [esi + 0xb]
mov edi, 0x69dc7d0d
mov ebx, 0x7bfda4e1
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x7bfda4e1
cmovne eax, edi
test cl, cl
cmove eax, ebx
test dl, dl
cmovne eax, edi
jmp 0x419740
mov edx, dword [esi + 0x4c]
mov ebx, dword [esi + 0x98]
mov edi, dword [esi + 0x60]
mov eax, 0x4b9d8f80
mov ecx, 0x40edd4b4
test edx, edx
mov dword [esi + 0x50], edx
mov edx, dword [esi + 0x58]
mov dword [esi + 0x48], ebx
mov dword [esi + 0x54], edi
mov dword [esi + 0x90], edi
cmove eax, ecx
mov dword [esi + 0x44], edx
mov dword [esi + 0x8c], edx
jmp 0x419740
mov eax, dword [ebp + 0xc]
sub eax, dword [esi + 0x74]
mov dword [esi + 0x4c], 1
mov dword [esi + 0x60], eax
mov eax, dword [ebp + 0x10]
sbb eax, 0
mov dword [esi + 0x58], eax
mov eax, 0xb4571526
jmp 0x419740
mov eax, dword [esi]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
mov edi, dword [eax]
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x1c]
cmp ecx, edi
cmovb edi, ecx
push edi
push dword [eax]
mov ebx, dword [ebp + 8]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi]
mov eax, dword [eax]
mov ecx, dword [esi]
sub eax, edi
mov dword [ecx], eax
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x2c]
sub dword [ecx], edi
mov eax, dword [eax + 0x1c]
add dword [eax], edi
lea eax, [ebx + edi]
mov dword [esi + 0x40], eax
mov eax, 0xa9c3a56b
jmp 0x419740
mov eax, 0x96bbd5cb
jmp 0x419740
cmp byte [esi + 0xf], 0
mov eax, 0x575d0daf
mov ecx, 0x3ce89c12
cmovne eax, ecx
jmp 0x419740
mov eax, 0x5f0cbbfa
jmp 0x419740
xor eax, eax
mov ecx, dword [esi + 0x10]
test eax, eax
mov ebx, 0x29094ee6
mov edi, 0x62dfaecf
mov dword [ecx], eax
setne byte [esi + 0xe]
mov eax, dword [0x435628]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x62dfaecf
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x43562c], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x419740
xor eax, eax
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, 0x23bb1cd0
jmp 0x419740
mov edi, dword [esi + 0x80]
mov ebx, dword [esi + 0x84]
mov ecx, dword [esi + 0xa0]
xor ecx, ebp
call fcn.0043082b
mov eax, edi
mov edx, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc