Function at 0x556cc8
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
mov eax, dword [0x66e240]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
xor ebx, ebx
mov esi, ecx
push ebx
push 0x80
push 3
push ebx
push ebx
push closesocket
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x5573dd
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [ebp - 0xf0]
push eax
push 4
lea eax, [ebp - 0xec]
push eax
push edi
call ebx
test eax, eax
jne 0x556d30
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x5573dd
cmp dword [ebp - 0xec], 0x6111101
jne 0x556d24
push 0
lea eax, [ebp - 0xf0]
push eax
push 0xe0
lea eax, [ebp - 0xe4]
push eax
push edi
call ebx
push edi
test eax, eax
je 0x556d25
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x236
mov ecx, 0x5d0238
call fcn.004c005f
xor ebx, ebx
mov edi, eax
inc ebx
cmp dword [esi + 0x19], 0
je 0x556d95
mov edx, dword [ebp - 0xdc]
xor ecx, ecx
cmp dword [edi + 0xe], edx
setne cl
test bl, cl
je 0x556d95
mov eax, dword [edi]
and edx, ebx
push edx
mov ecx, edi
call dword [eax + 8]
push dword [ebp - 0xe0]
lea eax, [edi + 0x940]
mov ecx, esi
push dword [ebp - 0xe4]
push eax
call fcn.00556c3a
test eax, eax
je 0x556dc6
push dword [ebp - 0xe0]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0xe4]
call dword [eax + 0x24]
push 0x6fa
mov ecx, 0x5d0238
call fcn.004c005f
cmp dword [esi + 0x19], 0
mov edi, eax
je 0x556df8
mov ecx, dword [ebp - 0xbc]
mov edx, dword [edi]
and ecx, ebx
push ecx
mov ecx, edi
call dword [edx + 8]
mov eax, dword [ebp - 0xbc]
and eax, ebx
mov dword [esi + 0x1d], eax
push dword [ebp - 0xc0]
lea eax, [edi + 0x940]
mov ecx, esi
push dword [ebp - 0xc4]
push eax
call fcn.00556c3a
test eax, eax
je 0x556e29
push dword [ebp - 0xc0]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0xc4]
call dword [eax + 0x24]
push 0x22e
mov ecx, 0x5d0238
call fcn.004c005f
push dword [ebp - 0xb0]
mov edi, eax
push dword [ebp - 0xb4]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00556c3a
test eax, eax
je 0x556e6b
push dword [ebp - 0xb0]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0xb4]
call dword [eax + 0x24]
cvttss2si eax, dword [edi + 0x904]
mov ecx, 0x3d1
cmp eax, ecx
jne 0x556e98
cvttss2si eax, dword [edi + 0x908]
cmp eax, 0xbb
jne 0x556e98
mov eax, dword [edi]
push 0xd1
push ecx
mov ecx, edi
call dword [eax + 0x24]
cmp dword [esi + 0x19], 0
je 0x556edf
mov ecx, dword [ebp - 0xac]
xor eax, eax
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x556ec0
mov eax, dword [edi]
and ecx, ebx
push ecx
mov ecx, edi
call dword [eax + 8]
mov ecx, dword [ebp - 0xac]
test cl, 4
je 0x556ec8
push ebx
jmp 0x556ed8
test cl, 8
je 0x556ed1
push 2
jmp 0x556ed8
test cl, 0x10
je 0x556edf
push 3
mov ecx, edi
call fcn.0052bf7d
push 0xe7
mov ecx, 0x5d0238
call fcn.004c005f
cmp dword [esi + 0x19], 0
mov edi, eax
mov edx, dword [ebp - 0x9c]
je 0x556f18
xor ecx, ecx
cmp dword [edi + 0xe], edx
setne cl
test bl, cl
je 0x556f18
mov eax, dword [edi]
and edx, ebx
push edx
mov ecx, edi
call dword [eax + 8]
mov edx, dword [ebp - 0x9c]
and edx, 2
mov ecx, edi
push edx
call fcn.004ed23e
push dword [ebp - 0xa0]
lea eax, [edi + 0x940]
mov ecx, esi
push dword [ebp - 0xa4]
push eax
call fcn.00556c3a
test eax, eax
je 0x556f54
push dword [ebp - 0xa0]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0xa4]
call dword [eax + 0x24]
cvttss2si eax, dword [edi + 0x904]
cmp eax, 0x1d0
jne 0x556f81
cvttss2si eax, dword [edi + 0x908]
mov ecx, 0x2d6
cmp eax, ecx
jne 0x556f81
mov eax, dword [edi]
push ecx
push 0x1a6
mov ecx, edi
call dword [eax + 0x24]
push 0x155
mov ecx, 0x5d0238
call fcn.004c005f
push dword [ebp - 0x90]
mov edi, eax
push dword [ebp - 0x94]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00556c3a
test eax, eax
je 0x556fc3
push dword [ebp - 0x90]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x94]
call dword [eax + 0x24]
cmp dword [esi + 0x19], 0
je 0x557072
mov ecx, dword [ebp - 0x8c]
xor eax, eax
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x556fef
mov eax, dword [edi]
and ecx, ebx
push ecx
mov ecx, edi
call dword [eax + 8]
mov ecx, dword [ebp - 0x8c]
test cl, 4
je 0x556ff7
push ebx
jmp 0x557007
test cl, 8
je 0x557000
push 2
jmp 0x557007
test cl, 0x10
je 0x55700e
push 4
mov ecx, edi
call fcn.0046059d
mov eax, dword [ebp - 0x88]
mov ecx, edi
mov dword [ebp - 0xe8], eax
call fcn.0045fe14
movzx ebx, al
mov eax, dword [ebp - 0xe8]
cmp eax, ebx
je 0x55705a
mov ecx, edi
push 0x40
push 0
cmp eax, ebx
jle 0x557045
push 0x165
call fcn.004602bf
inc ebx
jmp 0x557050
push 0x166
call fcn.004602bf
dec ebx
mov eax, dword [ebp - 0xe8]
cmp ebx, eax
jne 0x55702e
test dword [ebp - 0x8c], 0x100
jne 0x55706f
push 0
mov ecx, edi
call fcn.004607fd
xor ebx, ebx
inc ebx
mov edi, 0x5d0238
push 0x877
mov ecx, edi
call fcn.004c005f
test eax, eax
je 0x5570a1
cmp dword [esi + 0x19], 0
je 0x5570a1
mov ecx, dword [ebp - 0x8c]
mov edx, dword [eax]
and ecx, 0x100
push ecx
mov ecx, eax
call dword [edx + 8]
push 0xed
mov ecx, edi
call fcn.004c005f
push dword [ebp - 0x80]
mov edi, eax
push dword [ebp - 0x84]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00556c3a
test eax, eax
je 0x5570da
push dword [ebp - 0x80]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x84]
call dword [eax + 0x24]
cmp dword [esi + 0x19], 0
je 0x55711b
mov ecx, dword [ebp - 0x7c]
xor eax, eax
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x5570fc
mov eax, dword [edi]
and ecx, ebx
push ecx
mov ecx, edi
call dword [eax + 8]
mov ecx, dword [ebp - 0x7c]
test cl, 4
je 0x557104
push ebx
jmp 0x557114
test cl, 8
je 0x55710d
push 2
jmp 0x557114
test cl, 0x10
je 0x55711b
push 3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x68]
push 0x5f
mov ecx, 0x5d0238
call fcn.004c005f
cmp dword [esi + 0x19], 0
mov edi, eax
je 0x557148
mov edx, dword [ebp - 0x6c]
xor ecx, ecx
cmp dword [edi + 0xe], edx
setne cl
test bl, cl
je 0x557148
mov eax, dword [edi]
and edx, ebx
push edx
mov ecx, edi
call dword [eax + 8]
push dword [ebp - 0x70]
lea eax, [edi + 0x940]
mov ecx, esi
push dword [ebp - 0x74]
push eax
call fcn.00556c3a
test eax, eax
je 0x55716d
push dword [ebp - 0x70]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x74]
call dword [eax + 0x24]
push 0xc1
mov ecx, 0x5d0238
call fcn.004c005f
push dword [ebp - 0x60]
mov edi, eax
push dword [ebp - 0x64]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00556c3a
test eax, eax
je 0x5571a3
push dword [ebp - 0x60]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x64]
call dword [eax + 0x24]
cmp dword [esi + 0x19], 0
je 0x557207
mov ecx, dword [edi + 0x964]
mov eax, dword [ebp - 0x58]
mov dword [ecx + 0x9e6], eax
xor eax, eax
mov ecx, dword [ebp - 0x5c]
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x5571d4
mov eax, dword [edi]
and ecx, ebx
push ecx
mov ecx, edi
call dword [eax + 8]
mov ecx, dword [ebp - 0x5c]
test cl, 4
je 0x557207
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0x68]
test byte [ebp - 0x5c], 0x20
je 0x5571ea
push ebx
jmp 0x5571fc
test byte [ebp - 0x5c], 0x40
je 0x5571f4
push 2
jmp 0x5571fc
test byte [ebp - 0x5c], 0x80
je 0x557207
push 3
mov ecx, dword [0x6a745c]
mov eax, dword [ecx]
call dword [eax + 0x68]
push 0x5aa
mov ecx, 0x5d0238
call fcn.004c005f
push dword [ebp - 0x50]
mov edi, eax
push dword [ebp - 0x54]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00556c3a
test eax, eax
je 0x55723d
push dword [ebp - 0x50]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x54]
call dword [eax + 0x24]
cmp dword [esi + 0x19], 0
je 0x55727e
mov ecx, dword [ebp - 0x4c]
xor eax, eax
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x55725f
mov eax, dword [edi]
and ecx, ebx
push ecx
mov ecx, edi
call dword [eax + 8]
mov ecx, dword [ebp - 0x4c]
test cl, 4
je 0x557267
push ebx
jmp 0x557277
test cl, 8
je 0x557270
push 2
jmp 0x557277
test cl, 0x10
je 0x55727e
push 3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x68]
push 0x7a2
mov ecx, 0x5d0238
call fcn.004c005f
push dword [ebp - 0x40]
mov edi, eax
push dword [ebp - 0x44]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00556c3a
test eax, eax
je 0x5572b4
push dword [ebp - 0x40]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x44]
call dword [eax + 0x24]
cmp dword [esi + 0x19], 0
je 0x5572d3
mov ecx, dword [ebp - 0x3c]
xor eax, eax
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x5572d3
mov eax, dword [edi]
and ecx, ebx
push ecx
mov ecx, edi
call dword [eax + 8]
push 0x734
mov ecx, 0x5d0238
call fcn.004c005f
mov edi, eax
test edi, edi
je 0x55732c
push dword [ebp - 0x30]
lea ecx, [edi + 0x940]
push dword [ebp - 0x34]
push ecx
mov ecx, esi
call fcn.00556c3a
test eax, eax
je 0x55730d
push dword [ebp - 0x30]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x34]
call dword [eax + 0x24]
cmp dword [esi + 0x19], 0
je 0x55732c
mov ecx, dword [ebp - 0x2c]
xor eax, eax
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x55732c
mov eax, dword [edi]
and ecx, ebx
push ecx
mov ecx, edi
call dword [eax + 8]
push 0x267
mov ecx, 0x5d0238
call fcn.004c005f
push dword [ebp - 0x20]
mov edi, eax
push dword [ebp - 0x24]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00556c3a
test eax, eax
je 0x557362
push dword [ebp - 0x20]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x24]
call dword [eax + 0x24]
cmp dword [esi + 0x19], 0
je 0x55738f
mov edi, 0x6a74fc
mov ecx, edi
test byte [ebp - 0x1c], bl
je 0x557378
push 0
jmp 0x557379
push ebx
call fcn.00516971
mov ecx, edi
test byte [ebp - 0x18], bl
je 0x557389
push 0
jmp 0x55738a
push ebx
call fcn.0051695f
mov ebx, dword [ebp - 8]
mov ecx, 0x5d0238
test ebx, ebx
jne 0x5573a2
push 0x93b
jmp 0x5573a7
push 0x94e
call fcn.004c005f
mov edi, eax
test edi, edi
je 0x5573dd
push dword [ebp - 0x10]
lea eax, [edi + 0x940]
mov ecx, esi
push dword [ebp - 0x14]
push eax
call fcn.00556c3a
test eax, eax
je 0x5573d7
push dword [ebp - 0x10]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x14]
call dword [eax + 0x24]
mov dword [0x6b52a8], ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00560d94
mov esp, ebp
pop ebp
ret 4