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

Disassembly:
sub esp, 0x58
push ebp
mov ebp, dword [esp + 0x60]
lea eax, [esp + 0xc]
push esi
push edi
push eax
mov esi, dword [ebp + 0x8c]
push esi
call fcn.1002b990
lea eax, [esp + 0x28]
push eax
push esi
call fcn.1002b990
lea eax, [esp + 0x3c]
push eax
push esi
call fcn.1002b990
lea eax, [esp + 0x54]
mov dword [esp + 0x50], esi
mov esi, dword [ebp + 0x8c]
push eax
push esi
call fcn.1002b990
lea eax, [esp + 0x68]
push eax
push esi
call fcn.1002b990
lea eax, [esp + 0x7c]
push eax
push esi
call fcn.1002b990
mov eax, dword [ebp + 4]
mov dword [esp + 0x90], esi
mov edi, dword [eax + 0x84]
lea eax, [esp + 0x44]
push eax
push edi
call fcn.1002b9b0
mov esi, eax
add esp, 0x38
test esi, esi
jne 0x1003084e
lea eax, [esp + 0x20]
push eax
push edi
call fcn.1002b9b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x1003084e
lea eax, [esp + 0x2c]
push eax
push edi
call fcn.1002b9b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x1003084e
lea eax, [esp + 0x3c]
push eax
push edi
call fcn.1002b9b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x1003084e
lea eax, [esp + 0x48]
push eax
push edi
call fcn.1002b9b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x1003084e
lea eax, [esp + 0x54]
push eax
push edi
call fcn.1002b9b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x1003084e
mov edi, dword [esp + 0x6c]
lea eax, [esp + 0x14]
push ebx
push eax
lea ebx, [edi + 4]
push ebx
call fcn.1002be30
mov esi, eax
add esp, 8
test esi, esi
jne 0x1003084d
lea ecx, [esp + 0x24]
lea eax, [edi + 0x10]
push ecx
push eax
mov dword [esp + 0x18], eax
call fcn.1002be30
mov esi, eax
add esp, 8
test esi, esi
jne 0x1003084d
mov eax, dword [ebp + 4]
or edi, 0xffffffff
cmp dword [eax + 0x88], 6
mov eax, dword [esp + 0x30]
jne 0x100306ff
add eax, 0x1f
sar eax, 5
shl eax, 2
push eax
push 0xff
push dword [esp + 0x3c]
call fcn.100506f0
mov ecx, dword [esp + 0x3c]
add esp, 0xc
lea esi, [ecx + 0x1f]
sar esi, 5
and ecx, 0x8000001f
jns 0x100306e0
dec ecx
or ecx, 0xffffffe0
inc ecx
jne 0x100306ef
mov eax, dword [esp + 0x34]
or edx, 0xffffffff
and dword [eax + esi*4 - 4], edx
jmp 0x10030721
mov eax, dword [esp + 0x34]
mov edx, edi
shl edx, cl
not edx
and dword [eax + esi*4 - 4], edx
jmp 0x10030721
add eax, 0x1f
sar eax, 5
shl eax, 2
push eax
push 0
push dword [esp + 0x3c]
call fcn.100506f0
mov eax, dword [esp + 0x40]
add esp, 0xc
mov dword [eax], 1
lea eax, [esp + 0x40]
push eax
push ebx
call fcn.1002be30
mov esi, eax
add esp, 8
test esi, esi
jne 0x1003084d
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x14]
push ebx
call fcn.1002b4e0
mov eax, dword [ebp + 4]
add esp, 0xc
cmp dword [eax + 0x88], 6
mov eax, dword [esp + 0x58]
jne 0x100307aa
add eax, 0x1f
sar eax, 5
shl eax, 2
push eax
push 0xff
push dword [esp + 0x64]
call fcn.100506f0
mov ecx, dword [esp + 0x64]
add esp, 0xc
lea edx, [ecx + 0x1f]
sar edx, 5
and ecx, 0x8000001f
jns 0x1003078d
dec ecx
or ecx, 0xffffffe0
inc ecx
jne 0x1003079c
mov eax, dword [esp + 0x5c]
or edi, 0xffffffff
and dword [eax + edx*4 - 4], edi
jmp 0x100307cc
mov eax, dword [esp + 0x5c]
shl edi, cl
not edi
and dword [eax + edx*4 - 4], edi
jmp 0x100307cc
add eax, 0x1f
sar eax, 5
shl eax, 2
push eax
push 0
push dword [esp + 0x64]
call fcn.100506f0
mov eax, dword [esp + 0x68]
add esp, 0xc
mov dword [eax], 1
mov ebx, dword [esp + 0x7c]
dec ebx
test ebx, ebx
jle 0x1003084d
mov edi, dword [esp + 0x80]
lea esp, [esp]
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x7c]
push ebx
call fcn.1000d740
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x84]
push ebx
call fcn.1000d740
push edi
push edi
push ebp
call fcn.10030160
mov esi, eax
add esp, 0x24
test esi, esi
jne 0x1003084d
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x10030827
cmp dword [esp + 0x6c], esi
jne 0x10030848
lea eax, [esp + 0x18]
jmp 0x10030836
test eax, eax
jne 0x10030848
cmp dword [esp + 0x6c], 1
jne 0x10030848
lea eax, [esp + 0x40]
push edi
push eax
push edi
push ebp
call fcn.1002f1f0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x1003084d
dec ebx
test ebx, ebx
jg 0x100307e0
pop ebx
lea eax, [esp + 0x14]
push eax
call fcn.1002ba00
lea eax, [esp + 0x24]
push eax
call fcn.1002ba00
lea eax, [esp + 0x34]
push eax
call fcn.1002ba00
lea eax, [esp + 0x48]
push eax
call fcn.1002ba00
lea eax, [esp + 0x58]
push eax
call fcn.1002ba00
lea eax, [esp + 0x68]
push eax
call fcn.1002ba00
add esp, 0x18
mov eax, esi
pop edi
pop esi
pop ebp
add esp, 0x58
ret