Function at 0x553c18
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
mov eax, dword [0x66c240]
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 0x55432d
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 0x553c80
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x55432d
cmp dword [ebp - 0xec], 0x6111101
jne 0x553c74
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 0x553c75
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x236
mov ecx, 0x5ce238
call fcn.004bcffa
xor ebx, ebx
mov edi, eax
inc ebx
cmp dword [esi + 0x19], 0
je 0x553ce5
mov edx, dword [ebp - 0xdc]
xor ecx, ecx
cmp dword [edi + 0xe], edx
setne cl
test bl, cl
je 0x553ce5
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.00553b8a
test eax, eax
je 0x553d16
push dword [ebp - 0xe0]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0xe4]
call dword [eax + 0x24]
push 0x6fa
mov ecx, 0x5ce238
call fcn.004bcffa
cmp dword [esi + 0x19], 0
mov edi, eax
je 0x553d48
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.00553b8a
test eax, eax
je 0x553d79
push dword [ebp - 0xc0]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0xc4]
call dword [eax + 0x24]
push 0x22e
mov ecx, 0x5ce238
call fcn.004bcffa
push dword [ebp - 0xb0]
mov edi, eax
push dword [ebp - 0xb4]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00553b8a
test eax, eax
je 0x553dbb
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 0x553de8
cvttss2si eax, dword [edi + 0x908]
cmp eax, 0xbb
jne 0x553de8
mov eax, dword [edi]
push 0xd1
push ecx
mov ecx, edi
call dword [eax + 0x24]
cmp dword [esi + 0x19], 0
je 0x553e2f
mov ecx, dword [ebp - 0xac]
xor eax, eax
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x553e10
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 0x553e18
push ebx
jmp 0x553e28
test cl, 8
je 0x553e21
push 2
jmp 0x553e28
test cl, 0x10
je 0x553e2f
push 3
mov ecx, edi
call fcn.00528fbb
push 0xe7
mov ecx, 0x5ce238
call fcn.004bcffa
cmp dword [esi + 0x19], 0
mov edi, eax
mov edx, dword [ebp - 0x9c]
je 0x553e68
xor ecx, ecx
cmp dword [edi + 0xe], edx
setne cl
test bl, cl
je 0x553e68
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.004ea19f
push dword [ebp - 0xa0]
lea eax, [edi + 0x940]
mov ecx, esi
push dword [ebp - 0xa4]
push eax
call fcn.00553b8a
test eax, eax
je 0x553ea4
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 0x553ed1
cvttss2si eax, dword [edi + 0x908]
mov ecx, 0x2d6
cmp eax, ecx
jne 0x553ed1
mov eax, dword [edi]
push ecx
push 0x1a6
mov ecx, edi
call dword [eax + 0x24]
push 0x155
mov ecx, 0x5ce238
call fcn.004bcffa
push dword [ebp - 0x90]
mov edi, eax
push dword [ebp - 0x94]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00553b8a
test eax, eax
je 0x553f13
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 0x553fc2
mov ecx, dword [ebp - 0x8c]
xor eax, eax
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x553f3f
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 0x553f47
push ebx
jmp 0x553f57
test cl, 8
je 0x553f50
push 2
jmp 0x553f57
test cl, 0x10
je 0x553f5e
push 4
mov ecx, edi
call fcn.0045d757
mov eax, dword [ebp - 0x88]
mov ecx, edi
mov dword [ebp - 0xe8], eax
call fcn.0045cfce
movzx ebx, al
mov eax, dword [ebp - 0xe8]
cmp eax, ebx
je 0x553faa
mov ecx, edi
push 0x40
push 0
cmp eax, ebx
jle 0x553f95
push 0x165
call fcn.0045d479
inc ebx
jmp 0x553fa0
push 0x166
call fcn.0045d479
dec ebx
mov eax, dword [ebp - 0xe8]
cmp ebx, eax
jne 0x553f7e
test dword [ebp - 0x8c], 0x100
jne 0x553fbf
push 0
mov ecx, edi
call fcn.0045d9b7
xor ebx, ebx
inc ebx
mov edi, 0x5ce238
push 0x877
mov ecx, edi
call fcn.004bcffa
test eax, eax
je 0x553ff1
cmp dword [esi + 0x19], 0
je 0x553ff1
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.004bcffa
push dword [ebp - 0x80]
mov edi, eax
push dword [ebp - 0x84]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00553b8a
test eax, eax
je 0x55402a
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 0x55406b
mov ecx, dword [ebp - 0x7c]
xor eax, eax
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x55404c
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 0x554054
push ebx
jmp 0x554064
test cl, 8
je 0x55405d
push 2
jmp 0x554064
test cl, 0x10
je 0x55406b
push 3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x68]
push 0x5f
mov ecx, 0x5ce238
call fcn.004bcffa
cmp dword [esi + 0x19], 0
mov edi, eax
je 0x554098
mov edx, dword [ebp - 0x6c]
xor ecx, ecx
cmp dword [edi + 0xe], edx
setne cl
test bl, cl
je 0x554098
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.00553b8a
test eax, eax
je 0x5540bd
push dword [ebp - 0x70]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x74]
call dword [eax + 0x24]
push 0xc1
mov ecx, 0x5ce238
call fcn.004bcffa
push dword [ebp - 0x60]
mov edi, eax
push dword [ebp - 0x64]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00553b8a
test eax, eax
je 0x5540f3
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 0x554157
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 0x554124
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 0x554157
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0x68]
test byte [ebp - 0x5c], 0x20
je 0x55413a
push ebx
jmp 0x55414c
test byte [ebp - 0x5c], 0x40
je 0x554144
push 2
jmp 0x55414c
test byte [ebp - 0x5c], 0x80
je 0x554157
push 3
mov ecx, dword [0x6a44bc]
mov eax, dword [ecx]
call dword [eax + 0x68]
push 0x5aa
mov ecx, 0x5ce238
call fcn.004bcffa
push dword [ebp - 0x50]
mov edi, eax
push dword [ebp - 0x54]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00553b8a
test eax, eax
je 0x55418d
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 0x5541ce
mov ecx, dword [ebp - 0x4c]
xor eax, eax
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x5541af
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 0x5541b7
push ebx
jmp 0x5541c7
test cl, 8
je 0x5541c0
push 2
jmp 0x5541c7
test cl, 0x10
je 0x5541ce
push 3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x68]
push 0x7a2
mov ecx, 0x5ce238
call fcn.004bcffa
push dword [ebp - 0x40]
mov edi, eax
push dword [ebp - 0x44]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00553b8a
test eax, eax
je 0x554204
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 0x554223
mov ecx, dword [ebp - 0x3c]
xor eax, eax
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x554223
mov eax, dword [edi]
and ecx, ebx
push ecx
mov ecx, edi
call dword [eax + 8]
push 0x734
mov ecx, 0x5ce238
call fcn.004bcffa
mov edi, eax
test edi, edi
je 0x55427c
push dword [ebp - 0x30]
lea ecx, [edi + 0x940]
push dword [ebp - 0x34]
push ecx
mov ecx, esi
call fcn.00553b8a
test eax, eax
je 0x55425d
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 0x55427c
mov ecx, dword [ebp - 0x2c]
xor eax, eax
cmp dword [edi + 0xe], ecx
setne al
test bl, al
je 0x55427c
mov eax, dword [edi]
and ecx, ebx
push ecx
mov ecx, edi
call dword [eax + 8]
push 0x267
mov ecx, 0x5ce238
call fcn.004bcffa
push dword [ebp - 0x20]
mov edi, eax
push dword [ebp - 0x24]
lea ecx, [edi + 0x940]
push ecx
mov ecx, esi
call fcn.00553b8a
test eax, eax
je 0x5542b2
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 0x5542df
mov edi, 0x6a455c
mov ecx, edi
test byte [ebp - 0x1c], bl
je 0x5542c8
push 0
jmp 0x5542c9
push ebx
call fcn.00513a73
mov ecx, edi
test byte [ebp - 0x18], bl
je 0x5542d9
push 0
jmp 0x5542da
push ebx
call fcn.00513a61
mov ebx, dword [ebp - 8]
mov ecx, 0x5ce238
test ebx, ebx
jne 0x5542f2
push 0x93b
jmp 0x5542f7
push 0x94e
call fcn.004bcffa
mov edi, eax
test edi, edi
je 0x55432d
push dword [ebp - 0x10]
lea eax, [edi + 0x940]
mov ecx, esi
push dword [ebp - 0x14]
push eax
call fcn.00553b8a
test eax, eax
je 0x554327
push dword [ebp - 0x10]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x14]
call dword [eax + 0x24]
mov dword [0x6b2308], ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0055dcf4
mov esp, ebp
pop ebp
ret 4