Function at 0x43d1a0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xd
push 0
push 0
dec ecx
jne 0x43d1a8
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004057a0
xor eax, eax
push ebp
push 0x43d721
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1c], 0
jne 0x43d1fc
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.0043c170
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
add eax, 0x1c
call fcn.004053b8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
mov eax, dword [ebp + 8]
push eax
lea edx, [ebp - 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
call fcn.0043c7ec
pop ecx
test al, al
je 0x43d6dc
xor ecx, ecx
mov edx, 0x43d73c
mov eax, dword [ebp - 0xc]
call fcn.0043cb18
test al, al
je 0x43d6d3
lea eax, [ebp - 0xd]
push eax
lea eax, [ebp - 0x1c]
call fcn.0042cc64
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov edx, 0x43d748
call fcn.00405638
mov edx, dword [ebp - 0x18]
mov ecx, 0x43d758
mov eax, dword [ebp - 0xc]
call fcn.0043cda8
test al, al
jne 0x43d290
push 0
lea eax, [ebp - 0x24]
call fcn.0042cc64
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x20]
mov edx, 0x43d764
call fcn.00405638
mov edx, dword [ebp - 0x20]
mov ecx, 0x43d758
mov eax, dword [ebp - 0xc]
call fcn.0043cda8
test al, al
je 0x43d6d3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 0
jne 0x43d2b4
mov eax, dword [ebp + 8]
add eax, 0xfffffffc
mov edx, dword [ebp - 4]
call fcn.004053b8
mov eax, dword [ebp + 8]
cmp dword [eax + 0x18], 0
jne 0x43d2c6
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0
je 0x43d33c
cmp byte [ebp - 0xd], 0
je 0x43d6b0
push 0
mov ecx, 0x43d774
mov edx, 0x43d780
mov eax, dword [ebp - 0xc]
call fcn.0043cda8
test al, al
je 0x43d6b0
push 0
lea edx, [ebp - 0x28]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
call fcn.004155d4
mov edx, dword [ebp - 0x28]
mov ecx, 0x43d774
mov eax, dword [ebp - 0xc]
call fcn.0043cda8
test al, al
je 0x43d6b0
push 0
lea edx, [ebp - 0x2c]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
call fcn.004155d4
mov edx, dword [ebp - 0x2c]
mov ecx, 0x43d794
mov eax, dword [ebp - 0xc]
call fcn.0043cda8
test al, al
je 0x43d6b0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
cmp dword [0x55a3b4], 0
je 0x43d362
lea eax, [ebp - 8]
mov edx, dword [0x55a3b4]
call fcn.004053b8
jmp 0x43d372
lea ecx, [ebp - 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
xor edx, edx
call fcn.0043a4a8
push 0
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 8]
mov edx, 0x43d7a0
call fcn.00405638
mov edx, dword [ebp - 0x30]
mov ecx, 0x43d758
mov eax, dword [ebp - 0xc]
call fcn.0043cda8
test al, al
je 0x43d6b0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
mov byte [ebp - 0xe], 0
lea eax, [ebp - 4]
call fcn.0043a464
mov esi, eax
test esi, esi
jle 0x43d409
mov edi, 1
push 0
lea eax, [ebp - 0x3c]
push eax
mov cl, 0x2c
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.0041261c
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x38]
xor edx, edx
call fcn.0043a4a8
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
mov edx, 0x43d7b4
call fcn.00405638
mov edx, dword [ebp - 0x34]
mov ecx, 0x43d758
mov eax, dword [ebp - 0xc]
call fcn.0043cda8
or al, byte [ebp - 0xe]
mov byte [ebp - 0xe], al
inc edi
dec esi
jne 0x43d3c0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
cmp byte [ebp - 0xe], 0
je 0x43d6b0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x34], 0
jne 0x43d436
mov eax, dword [ebp + 8]
cmp dword [eax + 0x30], 0
je 0x43d69a
push 0
mov eax, dword [ebp + 8]
add eax, 0x30
mov ecx, 0x43d7c8
mov edx, 0x43d7d8
call fcn.004113bc
cmp byte [0x55a3a8], 0
je 0x43d496
push 0x43d7e8
lea eax, [ebp - 0x48]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x34]
call fcn.00405cdc
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x44]
call fcn.00407754
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x40]
call fcn.004155d4
push dword [ebp - 0x40]
push 0x43d7fc
lea eax, [ebp - 8]
mov edx, 3
call fcn.004056b4
jmp 0x43d4c6
push 0x43d808
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x34]
mov cl, 0x3d
mov edx, 0x55abbc
call fcn.0043b3b4
push dword [ebp - 0x4c]
push 0x43d7fc
lea eax, [ebp - 8]
mov edx, 3
call fcn.004056b4
push 0
mov ecx, 0x43d820
mov edx, 0x43d82c
mov eax, dword [ebp - 0xc]
call fcn.0043cda8
test al, al
je 0x43d6b0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
push 0x43d83c
lea ecx, [ebp - 0x54]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0043a4a8
push dword [ebp - 0x54]
push 0x43d84c
push 0x43d858
lea ecx, [ebp - 0x58]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov dl, 1
call fcn.0043a4a8
push dword [ebp - 0x58]
push 0x43d84c
push 0x43d868
push dword [ebp - 8]
push 0x43d84c
push 0x43d87c
lea eax, [ebp - 0x5c]
call fcn.0043c960
push dword [ebp - 0x5c]
push 0x43d84c
push 0x43d88c
lea eax, [ebp - 0x60]
call fcn.0043ca80
push dword [ebp - 0x60]
push 0x43d84c
lea eax, [ebp - 0x50]
mov edx, 0xf
call fcn.004056b4
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0xc]
call fcn.0043c4c4
mov ebx, eax
test bl, bl
je 0x43d675
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x2c], 0
je 0x43d648
push 0x43d8a4
mov eax, dword [ebp + 8]
push dword [eax + 0x30]
push 0x43d84c
lea eax, [ebp - 0x64]
mov edx, 3
call fcn.004056b4
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0xc]
call fcn.0043c4c4
mov ebx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
test bl, bl
je 0x43d633
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
call fcn.00406a4c
mov esi, eax
test esi, esi
jl 0x43d633
inc esi
xor edi, edi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + edi*4]
call fcn.004057b0
push eax
call sub.kernel32.dll_GetFileAttributesA
cmp eax, 0xffffffff
je 0x43d62f
push ebp
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + edi*4]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax + edi*4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + edi*4]
mov eax, dword [ebp - 0xc]
call fcn.0043ce50
pop ecx
test al, al
jne 0x43d62f
xor ebx, ebx
jmp 0x43d633
inc edi
dec esi
jne 0x43d5e8
test bl, bl
je 0x43d675
mov edx, 0x43d9b8
mov eax, dword [ebp - 0xc]
call fcn.0043c4c4
mov ebx, eax
jmp 0x43d675
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
lea eax, [ebp - 0x68]
mov edx, 0x43d84c
call fcn.00405638
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0xc]
call fcn.0043c4c4
mov ebx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
push 0
mov ecx, 0x43d758
mov edx, 0x43d9e8
mov eax, dword [ebp - 0xc]
call fcn.0043cda8
and bl, al
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
jmp 0x43d6b0
push 0
mov ecx, 0x43d758
mov edx, 0x43d9f4
mov eax, dword [ebp - 0xc]
call fcn.0043cda8
mov ebx, eax
push 0
mov ecx, 0x43da04
mov edx, 0x43da10
mov eax, dword [ebp - 0xc]
call fcn.0043cda8
and bl, al
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_closesocket
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43d728
lea eax, [ebp - 0x68]
mov edx, 8
call fcn.00405344
lea eax, [ebp - 0x48]
call fcn.00405b28
lea eax, [ebp - 0x44]
call fcn.00405320
lea eax, [ebp - 0x40]
mov edx, 0xc
call fcn.00405344
lea eax, [ebp - 8]
mov edx, 2
call fcn.00405344
ret