Function at 0x3053148
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xce4
mov eax, dword [0x310e008]
xor eax, esp
mov dword [esp + 0xce0], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x20]
push ebx
xor ebx, ebx
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x24]
push esi
mov esi, dword [ebp + 0xc]
mov ecx, esi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x28]
push edi
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], 0x3019c64
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x60], bl
call fcn.0304a3ca
cmp dword [0x310f9d8], 0xffffffff
mov dword [esp + 0x2c], eax
mov byte [esp + 0x1b], 0xff
mov byte [esp + 0x13], bl
mov byte [esp + 0x1c], bl
mov byte [esp + 0x27], bl
mov byte [esp + 0x26], bl
jne 0x30531f1
xor eax, eax
jmp 0x3053403
test edi, edi
jne 0x30531ff
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x30531ea
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 8]
mov dword [0x310fa80], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x44], esi
test eax, eax
jne 0x3053226
mov dword [esp + 0x50], 0x305377f
inc eax
jmp 0x305322c
mov dword [esp + 0x50], eax
mov eax, ebx
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x3053241
xor eax, eax
mov dword [esp + 0x54], 0x304c3ab
inc eax
jmp 0x3053245
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x4c], fcn.030536fd
test ecx, ecx
je 0x3053259
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x58], 0x3052bd6
test ecx, ecx
je 0x305326d
mov dword [esp + 0x58], ecx
test eax, eax
je 0x305328c
mov ecx, esi
call fcn.0304a3ca
test eax, eax
jne 0x305328c
push eax
push eax
push esi
call sym.dbghelp.dll_SymInitialize
test eax, eax
je 0x30531ea
mov esi, dword [edi + 0x10c]
mov ecx, esi
mov edx, dword [0x3111d30]
call fcn.03031ff0
test eax, eax
je 0x30532d0
mov ecx, esi
call fcn.03032038
mov ecx, esi
mov byte [esp + 0x1b], al
call fcn.03032019
xor bl, bl
mov byte [esp + 0x13], al
test esi, esi
je 0x30532cc
cmp esi, 0xffffffff
je 0x30532cc
mov ebx, esi
shr ebx, 8
shr bl, 7
mov byte [esp + 0x1c], bl
and dword [esp + 0x28], 0
lea eax, [esp + 0x68]
push 0xc80
push 0
push eax
call sub.msvcrt.dll_memset
mov edx, dword [ebp + 8]
lea eax, [esp + 0x34]
add esp, 0xc
push eax
push ecx
lea eax, [esp + 0x70]
push eax
push dword [edi + 0xc]
lea ecx, [esp + 0x50]
call fcn.03068b27
mov esi, eax
mov dword [esp + 0x20], esi
test esi, esi
jne 0x30533ee
mov esi, dword [esp + 0x28]
mov ecx, dword [ebp + 0x2c]
and ecx, 1
mov dword [esi + 0x2c], ecx
mov eax, dword [esi + 0x28]
mov cl, byte [esp + 0x1b]
mov edx, dword [edi]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], eax
test cl, cl
je 0x3053343
cmp cl, 2
jne 0x3053466
mov eax, edx
or eax, dword [esp + 0x14]
je 0x305349e
test cl, cl
jne 0x3053359
mov byte [esp + 0x13], cl
jmp 0x305335d
inc byte [esp + 0x13]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x3053477
push dword [esp + 0x14]
mov ecx, eax
push edx
call fcn.03048e20
mov dword [esp + 0x64], eax
test eax, eax
je 0x3053477
movzx ecx, word [0x3111d30]
mov dl, byte [esp + 0x13]
push ecx
push dword [esp + 0x20]
mov cl, byte [esp + 0x23]
call fcn.03032060
xor ecx, ecx
mov edx, eax
push ecx
push ecx
push ecx
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x40]
push ecx
push dword [esp + 0x24]
mov ecx, dword [esp + 0x78]
push dword [esp + 0x4c]
call fcn.0302c48a
mov esi, dword [esp + 0x34]
test eax, eax
je 0x305341a
test esi, esi
je 0x305341a
movzx eax, word [0x3111d30]
mov cl, 2
mov dl, byte [esp + 0x13]
push eax
push dword [esp + 0x20]
call fcn.03032060
mov dword [edi + 0x10c], eax
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x30533fc
mov eax, dword [ecx]
push 0
call dword [eax]
xor eax, eax
test esi, esi
sete al
mov ecx, dword [esp + 0xcec]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0307c5f7
mov esp, ebp
pop ebp
ret 0x28
cmp byte [esp + 0x1b], 2
jne 0x3053458
mov word [esp + 0x1c], 0x100
test bl, bl
je 0x3053431
mov byte [esp + 0x1d], 0x81
mov ax, word [0x3111d30]
mov word [esp + 0x1e], ax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x10c], eax
mov eax, dword [edi + 0x10]
or eax, dword [edi + 0x14]
jne 0x305346a
mov byte [esp + 0x27], 1
mov byte [esp + 0x26], 1
test esi, esi
je 0x3053462
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov esi, dword [esp + 0x28]
mov bl, 1
jmp 0x30534b6
test esi, esi
je 0x30533ea
jmp 0x30533e4
mov word [esp + 0x1c], 0x100
test bl, bl
je 0x3053487
mov byte [esp + 0x1d], 0x81
mov ax, word [0x3111d30]
mov word [esp + 0x1e], ax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x10c], eax
jmp 0x3053466
mov eax, dword [ebp + 8]
cmp eax, 0x1c4
je 0x30534af
cmp eax, 0x8664
jne 0x30534b6
and dword [esp + 0x3c], 0
xor bl, bl
cmp dword [ebp + 8], 0x14c
mov eax, dword [esi + 0x18]
mov dword [esp + 0x5c], eax
jne 0x30534de
push dword [esp + 0x30]
lea edx, [esp + 0x44]
mov ecx, esi
push edi
call fcn.03052ddb
mov esi, eax
mov dword [esp + 0x20], esi
jmp 0x305351e
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x30534fd
mov esi, 0x80070057
cmp byte [esp + 0x26], 0
je 0x30533ee
xor esi, esi
jmp 0x30533ee
push eax
push ecx
call fcn.030363fa
add eax, 0x68
mov ecx, esi
push eax
movzx eax, word [0x310fa7c]
push eax
push edi
call fcn.03068f46
mov esi, eax
mov dword [esp + 0x20], eax
test esi, esi
jne 0x30534eb
cmp byte [esp + 0x27], 0
jne 0x30533ee
cmp byte [esp + 0x1b], 0xff
je 0x3053618
mov ecx, dword [edi]
mov eax, ecx
mov esi, dword [edi + 4]
or eax, esi
mov dword [esp + 0x30], ecx
je 0x30533ea
cmp ecx, dword [esp + 0x38]
jne 0x3053557
cmp esi, dword [esp + 0x14]
je 0x3053562
sub ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], ecx
sbb esi, 0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x30535ee
push esi
push ecx
mov ecx, eax
call fcn.03048e20
test eax, eax
je 0x30535ee
xor ecx, ecx
xor edx, edx
push ecx
push ecx
push ecx
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x38]
push ecx
push esi
push dword [esp + 0x44]
mov ecx, eax
call fcn.0302c48a
test eax, eax
mov eax, dword [esp + 0x2c]
je 0x30535b5
test eax, eax
je 0x30535b5
mov word [esp + 0x14], 0x200
test bl, bl
je 0x30535c5
mov byte [esp + 0x15], 0x82
jmp 0x30535c5
mov word [esp + 0x14], 0x100
test bl, bl
je 0x30535c5
mov byte [esp + 0x15], 0x81
mov cx, word [0x3111d30]
mov word [esp + 0x16], cx
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x10c], ecx
test eax, eax
je 0x30533ea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x30533ea
mov word [esp + 0x14], 0x100
test bl, bl
je 0x30535fe
mov byte [esp + 0x15], 0x81
mov ax, word [0x3111d30]
mov word [esp + 0x16], ax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x10c], eax
jmp 0x30533ea
mov word [esp + 0x14], 0xff00
test bl, bl
je 0x3053628
mov byte [esp + 0x15], 0xff
mov ax, word [0x3111d30]
mov word [esp + 0x16], ax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x10c], eax
jmp 0x30533ee