Function at 0x403126
Capabilities:
Delete file
Read file on windows
Write file on windows

Disassembly:
push 0xd74
push 0x40eeb0
call fcn.0040ee00
mov esi, edx
mov dword [ebp - 0xccc], esi
mov edi, ecx
mov dword [ebp - 0xcc0], edi
mov dword [ebp - 0xcc4], edi
xor ebx, ebx
mov dword [ebp - 0xcd4], ebx
mov eax, ebx
mov dword [ebp - 0xcd0], eax
mov dword [ebp - 0xcf0], eax
mov dword [ebp - 0xcec], ebx
mov dword [ebp - 0xcf4], ebx
mov dword [ebp - 0xcdc], ebx
mov dword [ebp - 0xce0], ebx
mov dword [ebp - 0xcc8], ebx
mov dword [ebp - 0xce8], 1
mov dword [ebp - 0xd24], 0x4011fc
mov dword [ebp - 0xd20], ebx
mov dword [ebp - 0xd1c], ebx
mov dword [ebp - 0xd18], ebx
mov dword [ebp - 0xd14], 0x401270
mov dword [ebp - 0xd10], ebx
mov dword [ebp - 0xd0c], ebx
mov dword [ebp - 0xd08], ebx
lea eax, [ebp - 0xd14]
mov dword [ebp - 0xcbc], eax
mov dword [ebp - 0xcb8], ebx
mov dword [ebp - 0xcb4], ebx
push dword [esi + 0x14]
push 0x28
push 3
call fcn.004063f7
push 0x29
push 3
call fcn.004063f7
add esp, 0x14
movzx eax, byte [esi + 0x32]
neg eax
sbb eax, eax
and eax, 2
cmp dword [esi + 0x1c], ebx
jne 0x403204
or eax, 1
movzx ecx, byte [esi + 0x31]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0xcdc]
and ecx, edx
cmp byte [esi + 0x37], bl
je 0x403225
lea edx, [ebp - 0xd24]
mov dword [ebp - 0xcb8], edx
lea edx, [ebp - 0xce0]
push edx
push ecx
push dword [esi + 0x64]
push dword [esi + 0x60]
lea ecx, [ebp - 0xcf4]
push ecx
push eax
lea eax, [ebp - 0xd84]
push eax
mov edx, dword [esi + 0x28]
mov ecx, edi
call fcn.00407b80
push 0xb
pop ecx
mov esi, eax
lea edi, [ebp - 0xd58]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0xd58]
test edx, edx
je 0x40335a
call fcn.00406fba
mov esi, eax
test esi, esi
je 0x40335c
mov edi, dword [ebp - 0xcc0]
mov eax, dword [0x412428]
test eax, eax
je 0x40328c
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xcf0]
test eax, eax
je 0x4032a0
push eax
push edi
call dword [sym.imp.WLDAP32.dll_Ordinal_191]
pop ecx
pop ecx
mov eax, dword [ebp - 0xcd0]
test eax, eax
je 0x4032b1
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0xcd4], 0
je 0x4032c7
push dword [ebp - 0xcd4]
call dword [sym.imp.WLDAP32.dll_Ordinal_41]
pop ecx
mov ecx, dword [ebp - 0xcf4]
test ecx, ecx
je 0x4032d6
call fcn.0040e0b1
mov ecx, dword [0x40f3d4]
test ecx, ecx
je 0x4032e5
call fcn.0040e0b1
mov ecx, dword [0x40f3d0]
test ecx, ecx
je 0x4032f4
call fcn.0040e0b1
mov ecx, dword [ebp - 0xcc8]
test ecx, ecx
je 0x403326
mov edi, ebx
cmp dword [ecx], ebx
je 0x40331b
mov eax, dword [ecx]
mov ecx, eax
call fcn.0040e0b1
inc edi
mov ecx, dword [ebp - 0xcc8]
mov eax, dword [ecx + edi*4]
test eax, eax
jne 0x403306
call fcn.0040e0b1
mov dword [ebp - 0xcc8], ebx
cmp word [0x412430], 0
je 0x403343
push 0x412430
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
mov word [0x412430], ax
call fcn.0040831b
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret
mov esi, ebx
mov edi, dword [ebp - 0xccc]
cmp dword [edi + 0x1c], ebx
jne 0x40338b
cmp dword [ebp - 0xcf4], ebx
jne 0x40337c
push 0x79
push 1
call fcn.004063f7
pop ecx
pop ecx
jmp 0x40338b
mov eax, dword [ebp - 0xcf4]
mov dword [edi + 0x1c], eax
mov dword [ebp - 0xcf4], ebx
cmp byte [edi + 0x32], bl
je 0x4033a6
cmp dword [ebp - 0xce0], ebx
jne 0x4033a6
push 0x7a
push 1
call fcn.004063f7
pop ecx
pop ecx
mov byte [edi + 0x32], bl
cmp byte [edi + 0x31], bl
je 0x4033c1
cmp dword [ebp - 0xcdc], ebx
jne 0x4033c1
push 0x76
push 1
call fcn.004063f7
pop ecx
pop ecx
mov byte [edi + 0x31], bl
mov dword [ebp - 4], ebx
mov ecx, dword [edi + 0x60]
test ecx, ecx
je 0x4033d5
call fcn.0040dfee
mov dword [0x40f3d4], eax
mov ecx, dword [edi + 0x64]
test ecx, ecx
je 0x4033e6
call fcn.0040dfee
mov dword [0x40f3d0], eax
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0xcc8]
cmp byte [edi + 0x31], 0
jne 0x403679
test eax, eax
jne 0x403404
mov eax, dword [edi + 0x24]
lea ecx, [ebp - 0xd04]
push ecx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0xcbc]
push ecx
push ebx
push eax
push dword [edi + 0x20]
push dword [edi + 0x5c]
push dword [edi + 0x1c]
push dword [ebp - 0xcc0]
call dword [sym.imp.WLDAP32.dll_Ordinal_194]
add esp, 0x2c
mov dword [ebp - 0xcc4], eax
test eax, eax
jne 0x40345c
lea eax, [ebp - 0xcd4]
push eax
mov edx, dword [ebp - 0xd04]
mov ecx, dword [ebp - 0xcc0]
call fcn.0040e19d
pop ecx
mov dword [ebp - 0xcc4], eax
test eax, eax
je 0x403490
push eax
call dword [sym.imp.WLDAP32.dll_Ordinal_118]
push eax
push 0x2e
push 7
call fcn.004063f7
add esp, 0x10
mov ecx, dword [ebp - 0xcc0]
call fcn.0040709e
mov ecx, dword [ebp - 0xcc4]
call fcn.00407245
mov esi, eax
test esi, esi
jne 0x403276
mov ecx, dword [ebp - 0xcc8]
test ecx, ecx
je 0x4034de
mov dword [ebp - 0xcc4], ebx
cmp dword [ecx], ebx
je 0x4034c7
mov eax, dword [ecx]
mov ecx, eax
call fcn.0040e0b1
mov eax, dword [ebp - 0xcc4]
inc eax
mov dword [ebp - 0xcc4], eax
mov ecx, dword [ebp - 0xcc8]
mov eax, dword [ecx + eax*4]
test eax, eax
jne 0x4034a6
call fcn.0040e0b1
mov dword [ebp - 0xcc8], ebx
mov dword [ebp - 0xcd8], 1
jmp 0x4034e4
mov dword [ebp - 0xcd8], ebx
cmp dword [ebp - 0xce8], 0
je 0x4035fc
push ebx
push 0x8000080
push 2
push ebx
push ebx
push 0x40000000
push dword [edi + 0x10]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xcd0], eax
cmp eax, 0xffffffff
jne 0x403556
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 0xa
lea eax, [ebp - 0x288]
push eax
push esi
call dword [sym.imp.msvcrt.dll__itow]
push 0x36
push 7
call fcn.004063f7
lea eax, [ebp - 0x288]
push eax
push 0x73
push 7
call fcn.004063f7
add esp, 0x20
test esi, esi
jne 0x403276
mov eax, dword [ebp - 0xcd0]
cmp byte [0x412664], 0
je 0x4035c1
mov ecx, 0xfeff
mov word [ebp - 0xcfc], cx
push ebx
push 0x40f3d8
push 2
lea ecx, [ebp - 0xcfc]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x4035c1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 0xa
lea eax, [ebp - 0x490]
push eax
push esi
call dword [sym.imp.msvcrt.dll__itow]
push 0x55
push 7
call fcn.004063f7
lea eax, [ebp - 0x490]
push eax
push 0x73
push 7
call fcn.004063f7
add esp, 0x20
test esi, esi
jne 0x403276
movzx eax, byte [edi + 0x37]
push eax
push eax
push ecx
mov edx, dword [ebp - 0xcd0]
mov ecx, dword [ebp - 0xcc0]
call fcn.00403014
push 0x2d
push 3
call fcn.004063f7
push 0x4012a0
push 0xa
call fcn.0040657c
add esp, 0x10
call fcn.004066b9
mov dword [ebp - 0xce8], ebx
push dword [ebp - 0xcd4]
push dword [ebp - 0xcc0]
call dword [sym.imp.WLDAP32.dll_Ordinal_26]
jmp 0x403668
mov dword [ebp - 0xcc4], ebx
lea ecx, [ebp - 0xcc4]
push ecx
push dword [ebp - 0xcd8]
lea ecx, [ebp - 0xcc8]
push ecx
push dword [ebp - 0xcd0]
push eax
mov edx, dword [ebp - 0xcc0]
mov ecx, edi
call fcn.00403bcb
mov esi, eax
test esi, esi
jne 0x403276
cmp dword [ebp - 0xcc4], eax
je 0x403656
inc dword [ebp - 0xcec]
push dword [ebp - 0xccc]
push dword [ebp - 0xcc0]
call dword [sym.imp.WLDAP32.dll_Ordinal_27]
pop ecx
test eax, eax
mov dword [ebp - 0xccc], eax
pop ecx
jne 0x403610
jmp 0x403a4a
test eax, eax
jne 0x403680
mov eax, dword [edi + 0x24]
push ebx
push 0x4e20
push ebx
push ebx
lea ecx, [ebp - 0xcbc]
push ecx
push ebx
push eax
push dword [edi + 0x20]
push dword [edi + 0x5c]
push dword [edi + 0x1c]
push dword [ebp - 0xcc0]
call dword [sym.imp.WLDAP32.dll_Ordinal_206]
add esp, 0x2c
mov dword [ebp - 0xcf0], eax
mov dword [ebp - 0xcd8], ebx
mov eax, dword [ebp - 0xcc8]
test eax, eax
je 0x403709
mov dword [ebp - 0xccc], ebx
cmp dword [eax], ebx
je 0x4036ec
mov eax, dword [eax]
mov ecx, eax
call fcn.0040e0b1
mov ecx, dword [ebp - 0xccc]
inc ecx
mov dword [ebp - 0xccc], ecx
mov eax, dword [ebp - 0xcc8]
mov eax, dword [eax + ecx*4]
test eax, eax
jne 0x4036cb
mov ecx, dword [ebp - 0xcc8]
call fcn.0040e0b1
mov dword [ebp - 0xcc8], ebx
mov dword [ebp - 0xce4], 1
jmp 0x40370f
mov dword [ebp - 0xce4], ebx
cmp dword [ebp - 0xcf0], 0
jne 0x40374d
call dword [sym.imp.WLDAP32.dll_Ordinal_16]
mov esi, eax
mov dword [ebp - 0xcd8], esi
push 0x2c
push 7
call fcn.004063f7
pop ecx
pop ecx
mov ecx, dword [ebp - 0xcc0]
call fcn.0040709e
mov ecx, esi
call fcn.00407245
mov esi, eax
test esi, esi
jne 0x403276
cmp dword [ebp - 0xce8], 0
je 0x403a08
push ebx
push 0x8000080
push 2
push ebx
push ebx
push 0x40000000
push dword [edi + 0x10]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xcd0], eax
cmp eax, 0xffffffff
jne 0x4037bf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 0xa
lea eax, [ebp - 0x698]
push eax
push esi
call dword [sym.imp.msvcrt.dll__itow]
push 0x36
push 7
call fcn.004063f7
lea eax, [ebp - 0x698]
push eax
push 0x73
push 7
call fcn.004063f7
add esp, 0x20
test esi, esi
jne 0x403276
mov eax, dword [ebp - 0xcd0]
cmp byte [0x412664], 0
je 0x40382a
mov ecx, 0xfeff
mov word [ebp - 0xd00], cx
push ebx
push 0x40f3d8
push 2
lea ecx, [ebp - 0xd00]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x40382a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 0xa
lea eax, [ebp - 0x8a0]
push eax
push esi
call dword [sym.imp.msvcrt.dll__itow]
push 0x55
push 7
call fcn.004063f7
lea eax, [ebp - 0x8a0]
push eax
push 0x73
push 7
call fcn.004063f7
add esp, 0x20
test esi, esi
jne 0x403276
movzx eax, byte [edi + 0x37]
push eax
push eax
push ecx
mov edx, dword [ebp - 0xcd0]
mov ecx, dword [ebp - 0xcc0]
call fcn.00403014
jmp 0x403a08
mov ecx, dword [ebp - 0xcf0]
test ecx, ecx
je 0x403a16
lea eax, [ebp - 0xcd4]
push eax
lea eax, [ebp - 0xd28]
push eax
push 0x100
push dword [0x41292c]
push ecx
push dword [ebp - 0xcc0]
call dword [sym.imp.WLDAP32.dll_Ordinal_135]
add esp, 0x18
mov dword [ebp - 0xcd8], eax
cmp dword [ebp - 0xce8], 0
je 0x4038b2
push 0x2d
push 3
call fcn.004063f7
push 0x4012a0
push 0xa
call fcn.0040657c
add esp, 0x10
mov dword [ebp - 0xce8], ebx
mov byte [0x41264c], 1
cmp dword [ebp - 0xcd4], 0
je 0x4039f5
mov dword [ebp - 0xce0], ebx
mov dword [ebp - 0xcdc], ebx
mov dword [ebp - 0xcf8], ebx
push ebx
push ebx
lea eax, [ebp - 0xcf8]
push eax
lea eax, [ebp - 0xcdc]
push eax
lea eax, [ebp - 0xce0]
push eax
lea eax, [ebp - 0xd2c]
push eax
push dword [ebp - 0xcd4]
push dword [ebp - 0xcc0]
call dword [sym.imp.WLDAP32.dll_Ordinal_179]
add esp, 0x20
mov dword [ebp - 0xcd8], eax
mov eax, dword [ebp - 0xcf8]
mov dword [ebp - 0xccc], eax
test eax, eax
je 0x403951
mov ecx, dword [eax]
test ecx, ecx
je 0x403949
push ecx
push 0x4012a4
call dword [sym.imp.msvcrt.dll_wprintf]
pop ecx
pop ecx
mov eax, dword [ebp - 0xccc]
add eax, 4
mov dword [ebp - 0xccc], eax
mov ecx, dword [eax]
test ecx, ecx
jne 0x403920
mov eax, dword [ebp - 0xcf8]
push eax
call dword [sym.imp.WLDAP32.dll_Ordinal_224]
pop ecx
cmp dword [ebp - 0xcdc], 0
je 0x403967
push dword [ebp - 0xcdc]
call dword [sym.imp.WLDAP32.dll_Ordinal_147]
pop ecx
cmp dword [ebp - 0xce0], 0
je 0x40397d
push dword [ebp - 0xce0]
call dword [sym.imp.WLDAP32.dll_Ordinal_147]
pop ecx
push dword [ebp - 0xcd4]
push dword [ebp - 0xcc0]
call dword [sym.imp.WLDAP32.dll_Ordinal_26]
jmp 0x4039e9
mov dword [ebp - 0xcc4], ebx
lea ecx, [ebp - 0xcc4]
push ecx
push dword [ebp - 0xce4]
lea ecx, [ebp - 0xcc8]
push ecx
push dword [ebp - 0xcd0]
push eax
mov edx, dword [ebp - 0xcc0]
mov ecx, edi
call fcn.00403bcb
mov esi, eax
test esi, esi
jne 0x403276
cmp dword [ebp - 0xcc4], eax
je 0x4039d7
inc dword [ebp - 0xcec]
push dword [ebp - 0xccc]
push dword [ebp - 0xcc0]
call dword [sym.imp.WLDAP32.dll_Ordinal_27]
pop ecx
test eax, eax
mov dword [ebp - 0xccc], eax
pop ecx
jne 0x403991
push dword [ebp - 0xcd4]
call dword [sym.imp.WLDAP32.dll_Ordinal_41]
pop ecx
mov dword [ebp - 0xcd4], ebx
mov eax, dword [ebp - 0xcd8]
test eax, eax
je 0x403847
test eax, eax
je 0x403a4a
cmp eax, 0x5e
je 0x403a4a
push 0x2c
push 7
call fcn.004063f7
pop ecx
pop ecx
mov ecx, dword [ebp - 0xcc0]
call fcn.0040709e
mov ecx, dword [ebp - 0xcd8]
call fcn.00407245
mov esi, eax
test esi, esi
jne 0x403276
cmp dword [ebp - 0xcc8], 0
jne 0x4033ed
mov eax, dword [0x412428]
test eax, eax
je 0x403b68
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
push 0x8000080
push 3
push ebx
push ebx
push 0x80000000
push 0x412430
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [0x412428], eax
cmp eax, 0xffffffff
jne 0x403acb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 0xa
lea eax, [ebp - 0xaa8]
push eax
push esi
call dword [sym.imp.msvcrt.dll__itow]
push 0x2b
push 7
call fcn.004063f7
lea eax, [ebp - 0xaa8]
push eax
push 0x73
push 7
call fcn.004063f7
add esp, 0x20
test esi, esi
jne 0x403276
mov edi, dword [0x412428]
mov esi, ebx
mov dword [ebp - 0xcc4], ebx
mov dword [ebp - 0xce4], ebx
jmp 0x403b0b
cmp dword [ebp - 0xcc4], esi
je 0x403b24
push ebx
lea eax, [ebp - 0xce4]
push eax
push dword [ebp - 0xcc4]
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0xcd0]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x403b82
push ebx
lea eax, [ebp - 0xcc4]
push eax
push 0x64
lea eax, [ebp - 0x80]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x403ae1
test eax, eax
jne 0x403b30
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
je 0x403b68
push 0xa
lea eax, [ebp - 0xcb0]
push eax
push esi
call dword [sym.imp.msvcrt.dll__itow]
push 0x32
push 7
call fcn.004063f7
lea eax, [ebp - 0xcb0]
push eax
push 0x73
push 7
call fcn.004063f7
add esp, 0x20
test esi, esi
jne 0x403276
mov eax, dword [ebp - 0xcec]
test eax, eax
jne 0x403b87
push 0x46
push 7
call fcn.004063f7
pop ecx
pop ecx
jmp 0x403276
push 0x1f
pop esi
jmp 0x403b30
push eax
push 0x31
push 3
call fcn.004063f7
add esp, 0xc
jmp 0x403276