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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3dc
mov eax, dword [0x100a80a4]
xor eax, esp
mov dword [esp + 0x3d8], eax
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x18]
push esi
mov esi, dword [ebp + 0x20]
push edi
push dword [ebp + 0x28]
mov edi, ecx
mov dword [esp + 0x24], edx
mov ecx, dword [ebp + 0x2c]
push eax
mov dword [esp + 0x20], ecx
lea ecx, [edi + 8]
mov dword [esp + 0x18], ebx
push edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], eax
call fcn.10030080
mov ecx, dword [ebp + 0xc]
mov eax, 0xffff
mov edx, dword [ebp + 0x10]
mov dword [edi + 0x48], esi
mov dword [edi + 0x5c], esi
lea esi, [edi + 0x6c]
mov word [edi + 0x4e], ax
mov eax, dword [esp + 0x14]
push esi
push dword [esp + 0x20]
mov dword [edi + 0x68], eax
mov eax, dword [ebp + 0x1c]
mov dword [edi + 0x64], eax
mov eax, dword [ebp + 0x14]
push ebx
push eax
mov byte [edi + 0x4c], bl
mov dword [edi], 0x1000154c
mov dword [edi + 8], 0x10001534
mov dword [edi + 0x50], 0x100014e8
mov dword [edi + 0x54], 0
mov dword [edi + 0x58], 0
mov dword [edi + 0x10c], 7
mov dword [edi + 0x60], 4
mov dword [edi + 0x70], ecx
mov dword [edi + 0x74], edx
mov dword [edi + 0x78], eax
call fcn.10021880
add esp, 0x10
test eax, eax
jne 0x10030507
mov eax, dword [esp + 0x18]
mov dword [eax], 0x8876086c
jmp 0x1003056f
mov eax, dword [esp + 0x14]
cmp eax, 2
je 0x10030548
cmp eax, 3
je 0x10030548
cmp eax, 1
jne 0x100305a8
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
test dword [eax + 0x220], 0x100
jne 0x1003053f
test dword [eax + 0x4c], 0x10000000
je 0x1003053f
xor eax, eax
jmp 0x10030544
mov eax, 1
test eax, eax
je 0x100305a8
mov eax, dword [esi]
test eax, eax
je 0x1003059f
add eax, 0x20
je 0x10030588
push eax
call fcn.1000efa0
mov edx, eax
add esp, 4
test edx, edx
jne 0x1003058a
mov dword [edi + 0x58], eax
mov eax, dword [esp + 0x18]
mov dword [eax], 0x8007000e
mov ecx, dword [esp + 0x3e4]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100a1500
mov esp, ebp
pop ebp
ret 0x28
xor edx, edx
mov eax, edx
mov ecx, 0x20
and eax, 0x1f
sub ecx, eax
mov dword [edx + ecx - 4], ecx
lea eax, [edx + ecx]
jmp 0x100305a1
xor eax, eax
mov dword [edi + 0x58], eax
test eax, eax
je 0x10030565
push 0x380
lea eax, [esp + 0x64]
push 0
push eax
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov esi, dword [esp + 0x14]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov eax, dword [eax + 0x208]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x64]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], 4
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0
cmp esi, 1
jne 0x10030646
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
test dword [eax + 0x220], 0x100
jne 0x1003063f
test dword [eax + 0x4c], 0x10000000
je 0x1003063f
mov eax, esi
jmp 0x10030648
mov eax, 2
jmp 0x10030648
mov eax, esi
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x1c], eax
test ebx, ebx
je 0x100306d7
mov ecx, dword [ebp + 0xc]
lea esi, [esp + 0x64]
mov edx, dword [ebp + 0x10]
mov dword [esi - 4], ecx
mov ecx, dword [ebp + 0x14]
mov dword [esi + 4], ecx
mov ecx, dword [edi + 0x58]
mov dword [esi], edx
test ecx, ecx
je 0x100306a7
lea edx, [esp + 0x24]
push edx
push 0
push ecx
mov edx, eax
lea ecx, [edi + 0x5c]
call fcn.10021bd0
mov eax, dword [esp + 0x38]
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0xc]
cmp ecx, 1
jbe 0x100306b4
shr ecx, 1
mov dword [ebp + 0xc], ecx
cmp edx, 1
jbe 0x100306be
shr edx, 1
mov dword [ebp + 0x10], edx
cmp dword [ebp + 0x14], 1
jbe 0x100306c7
shr dword [ebp + 0x14], 1
inc eax
add esi, 0x1c
mov dword [esp + 0x1c], eax
cmp eax, ebx
jb 0x10030664
mov esi, dword [esp + 0x14]
xor ecx, ecx
mov eax, ebx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
jbe 0x1003071c
add ecx, 0x20
je 0x10030707
push ecx
call fcn.1000efa0
mov edx, eax
add esp, 4
test edx, edx
jne 0x10030709
mov dword [edi + 0x54], eax
jmp 0x10030565
xor edx, edx
mov eax, edx
mov ecx, 0x20
and eax, 0x1f
sub ecx, eax
add edx, ecx
mov dword [edx - 4], ecx
jmp 0x1003071e
xor edx, edx
mov dword [edi + 0x54], edx
test edx, edx
je 0x10030565
lea eax, [ebx*4]
push eax
push 0
push edx
call sub.msvcrt.dll_memset
add esp, 0xc
cmp esi, 3
je 0x10030776
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x148]
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call dword [0x100ae518]
call esi
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
test eax, eax
js 0x1003056f
mov eax, dword [esp + 0x44]
mov dword [edi + 0x68], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 0x18], eax
xor ebx, ebx
cmp dword [esp + 0x10], ebx
jbe 0x10030857
lea esi, [esp + 0x78]
mov eax, dword [edi + 0x68]
cmp eax, 2
je 0x100307e9
cmp eax, 3
je 0x100307e9
push 0x38
call fcn.1000efa0
mov edx, eax
add esp, 4
test edx, edx
je 0x10030833
mov eax, edx
mov ecx, 0x20
and eax, 0x1f
sub ecx, eax
add edx, ecx
mov dword [edx - 4], ecx
mov eax, dword [esi]
mov dword [edx + 0x14], eax
mov dword [edx], 0x100014b4
mov dword [edx + 4], edi
mov dword [edx + 8], 0
mov byte [edx + 0x10], bl
mov eax, dword [edi + 0x64]
and eax, 0x4000004
neg eax
sbb eax, eax
neg eax
mov dword [edx + 0xc], eax
mov dword [edx], 0x10001480
jmp 0x10030833
push 0x38
call fcn.1000efa0
mov edx, eax
add esp, 4
test edx, edx
je 0x10030833
mov eax, edx
mov ecx, 0x20
and eax, 0x1f
sub ecx, eax
add edx, ecx
mov dword [edx - 4], ecx
mov eax, dword [esi]
mov dword [edx + 0x14], eax
mov dword [edx], 0x100014b4
mov dword [edx + 4], edi
mov dword [edx + 8], 0
mov byte [edx + 0x10], bl
mov eax, dword [edi + 0x64]
and eax, 0x4000004
neg eax
sbb eax, eax
neg eax
mov dword [edx + 0xc], eax
mov eax, dword [edi + 0x54]
lea ecx, [ebx*4]
mov dword [ecx + eax], edx
mov eax, dword [edi + 0x54]
cmp dword [ecx + eax], 0
je 0x10030883
inc ebx
add esi, 0x1c
cmp ebx, dword [esp + 0x10]
jb 0x10030786
cmp dword [esp + 0x14], 1
jne 0x1003056f
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
test dword [eax + 0x220], 0x100
jne 0x100308ef
test dword [eax + 0x4c], 0x10000000
je 0x100308ef
xor eax, eax
jmp 0x100308f4
cmp dword [esp + 0x14], 3
mov eax, dword [esp + 0x18]
mov dword [eax], 0x8007000e
je 0x1003056f
lea eax, [ebx*8]
sub eax, ebx
lea ecx, [esp + 0x78]
sub dword [esp + 0x10], ebx
lea ecx, [ecx + eax*4]
mov dword [esp + 0x20], ecx
mov esi, dword [edi + 0x14]
mov eax, dword [esi + 0x208]
mov dword [esp + 0x24], eax
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
mov esi, dword [esi + 0x14c]
mov ecx, esi
push eax
call dword [0x100ae518]
call esi
mov ecx, dword [esp + 0x20]
add ecx, 0x1c
sub dword [esp + 0x10], 1
mov dword [esp + 0x20], ecx
jne 0x100308b0
jmp 0x1003056f
mov eax, 1
test eax, eax
je 0x1003056f
lea ecx, [edi + 8]
call fcn.1002fdd0
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
jmp 0x1003056f