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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xd
push 0
push 0
dec ecx
jne 0x43b440
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404fcc
xor eax, eax
push ebp
push 0x43b9b4
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1c], 0
jne 0x43b494
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.0043a3ec
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
add eax, 0x1c
call fcn.00404bb4
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 - 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
call fcn.0043aa78
pop ecx
test al, al
je 0x43b974
xor ecx, ecx
mov edx, 0x43b9cc
mov eax, dword [ebp - 8]
call fcn.0043ada4
test al, al
je 0x43b96b
lea eax, [ebp - 9]
push eax
lea eax, [ebp - 0x1c]
call fcn.0042b9e0
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov edx, 0x43b9d8
call fcn.00404e28
mov edx, dword [ebp - 0x18]
mov ecx, 0x43b9e8
mov eax, dword [ebp - 8]
call fcn.0043b038
test al, al
jne 0x43b528
push 0
lea eax, [ebp - 0x24]
call fcn.0042b9e0
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x20]
mov edx, 0x43b9f4
call fcn.00404e28
mov edx, dword [ebp - 0x20]
mov ecx, 0x43b9e8
mov eax, dword [ebp - 8]
call fcn.0043b038
test al, al
je 0x43b96b
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 0x43b54c
mov eax, dword [ebp + 8]
add eax, 0xfffffffc
mov edx, dword [ebp - 4]
call fcn.00404bb4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x18], 0
jne 0x43b55e
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0
je 0x43b5d4
cmp byte [ebp - 9], 0
je 0x43b948
push 0
mov ecx, 0x43ba04
mov edx, 0x43ba10
mov eax, dword [ebp - 8]
call fcn.0043b038
test al, al
je 0x43b948
push 0
lea edx, [ebp - 0x28]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
call fcn.00418414
mov edx, dword [ebp - 0x28]
mov ecx, 0x43ba04
mov eax, dword [ebp - 8]
call fcn.0043b038
test al, al
je 0x43b948
push 0
lea edx, [ebp - 0x2c]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
call fcn.00418414
mov edx, dword [ebp - 0x2c]
mov ecx, 0x43ba24
mov eax, dword [ebp - 8]
call fcn.0043b038
test al, al
je 0x43b948
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
cmp dword [0x4e9ca8], 0
je 0x43b5fa
lea eax, [ebp - 0x10]
mov edx, dword [0x4e9ca8]
call fcn.00404bb4
jmp 0x43b60a
lea ecx, [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
xor edx, edx
call fcn.00438724
push 0
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
mov edx, 0x43ba30
call fcn.00404e28
mov edx, dword [ebp - 0x30]
mov ecx, 0x43b9e8
mov eax, dword [ebp - 8]
call fcn.0043b038
test al, al
je 0x43b948
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 - 0xa], 0
lea eax, [ebp - 4]
call fcn.004386e0
mov esi, eax
test esi, esi
jle 0x43b6a1
mov edi, 1
push 0
lea eax, [ebp - 0x3c]
push eax
mov cl, 0x2c
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.0040a8d8
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x38]
xor edx, edx
call fcn.00438724
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
mov edx, 0x43ba44
call fcn.00404e28
mov edx, dword [ebp - 0x34]
mov ecx, 0x43b9e8
mov eax, dword [ebp - 8]
call fcn.0043b038
or al, byte [ebp - 0xa]
mov byte [ebp - 0xa], al
inc edi
dec esi
jne 0x43b658
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 - 0xa], 0
je 0x43b948
mov eax, dword [ebp + 8]
cmp dword [eax + 0x34], 0
jne 0x43b6ce
mov eax, dword [ebp + 8]
cmp dword [eax + 0x30], 0
je 0x43b932
push 0
mov eax, dword [ebp + 8]
add eax, 0x30
mov ecx, 0x43ba58
mov edx, 0x43ba68
call fcn.00409768
cmp byte [0x4e9c9c], 0
je 0x43b72e
push 0x43ba78
lea eax, [ebp - 0x48]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x34]
call fcn.004053cc
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x44]
call fcn.00406b6c
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x40]
call fcn.00418414
push dword [ebp - 0x40]
push 0x43ba8c
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00404e9c
jmp 0x43b75e
push 0x43ba98
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x34]
mov cl, 0x3d
mov edx, 0x4ea488
call fcn.00439630
push dword [ebp - 0x4c]
push 0x43ba8c
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00404e9c
push 0
mov ecx, 0x43bab0
mov edx, 0x43babc
mov eax, dword [ebp - 8]
call fcn.0043b038
test al, al
je 0x43b948
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x24]
push 0x43bacc
lea ecx, [ebp - 0x54]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00438724
push dword [ebp - 0x54]
push 0x43badc
push 0x43bae8
lea ecx, [ebp - 0x58]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov dl, 1
call fcn.00438724
push dword [ebp - 0x58]
push 0x43badc
push 0x43baf8
push dword [ebp - 0x10]
push 0x43badc
push 0x43bb0c
lea eax, [ebp - 0x5c]
call fcn.0043abec
push dword [ebp - 0x5c]
push 0x43badc
push 0x43bb1c
lea eax, [ebp - 0x60]
call fcn.0043ad0c
push dword [ebp - 0x60]
push 0x43badc
lea eax, [ebp - 0x50]
mov edx, 0xf
call fcn.00404e9c
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 8]
call fcn.0043a750
mov ebx, eax
test bl, bl
je 0x43b90d
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 0x43b8e0
push 0x43bb34
mov eax, dword [ebp + 8]
push dword [eax + 0x30]
push 0x43badc
lea eax, [ebp - 0x64]
mov edx, 3
call fcn.00404e9c
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 8]
call fcn.0043a750
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 0x43b8cb
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
call fcn.00405db4
mov esi, eax
test esi, esi
jl 0x43b8cb
inc esi
xor edi, edi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + edi*4]
call fcn.00404fdc
push eax
call sub.kernel32.dll_GetFileAttributesA
cmp eax, 0xffffffff
je 0x43b8c7
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 - 8]
call fcn.0043b0e0
pop ecx
test al, al
jne 0x43b8c7
xor ebx, ebx
jmp 0x43b8cb
inc edi
dec esi
jne 0x43b880
test bl, bl
je 0x43b90d
mov edx, 0x43bc48
mov eax, dword [ebp - 8]
call fcn.0043a750
mov ebx, eax
jmp 0x43b90d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
lea eax, [ebp - 0x68]
mov edx, 0x43badc
call fcn.00404e28
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 8]
call fcn.0043a750
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, 0x43b9e8
mov edx, 0x43bc78
mov eax, dword [ebp - 8]
call fcn.0043b038
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 0x43b948
push 0
mov ecx, 0x43b9e8
mov edx, 0x43bc84
mov eax, dword [ebp - 8]
call fcn.0043b038
mov ebx, eax
push 0
mov ecx, 0x43bc94
mov edx, 0x43bca0
mov eax, dword [ebp - 8]
call fcn.0043b038
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 - 8]
push eax
call sub.wsock32.dll_closesocket
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43b9bb
lea eax, [ebp - 0x68]
mov edx, 8
call fcn.00404b40
lea eax, [ebp - 0x48]
call fcn.00405264
lea eax, [ebp - 0x44]
call fcn.00404b1c
lea eax, [ebp - 0x40]
mov edx, 0xd
call fcn.00404b40
lea eax, [ebp - 4]
call fcn.00404b1c
ret