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

Disassembly:
sub esp, 0x3b0
mov eax, dword [0x1016b2e8]
xor eax, esp
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b8]
push ebx
mov ebx, dword [esp + 0x3d0]
push ebp
push esi
mov esi, dword [esp + 0x3d4]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3dc]
push edi
mov edi, dword [esp + 0x3c4]
xor ebp, ebp
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x3e4]
mov dword [esp + 0x20], ecx
mov ecx, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
call fcn.1002b380
cmp eax, ebp
jne 0x1002ba40
mov ecx, dword [edi]
xor edx, edx
mov dword [esp + 0x10], edx
cmp ecx, ebp
jbe 0x1002ba3e
mov edi, edi
lea eax, [edx + edx*2]
lea edi, [edi + eax*4 + 0x38]
mov eax, dword [edi + 4]
mov dword [esp + 0x18], edi
cmp eax, ebp
je 0x1002b5a2
cmp eax, 0x21
je 0x1002b5a2
cmp eax, 0x30101
jne 0x1002b748
cmp ecx, 4
jne 0x1002b653
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
mov edi, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
lea esi, [eax*4]
mov dword [esp + 0x64], 3
mov dword [esp + 0x68], 2
mov dword [esp + 0x6c], 0
mov ebp, dword [esp + esi + 0x64]
cmp eax, 2
jae 0x1002b623
xor eax, eax
mov ebx, edi
cmp edi, edi
jne 0x1002ba29
cmp eax, ecx
jne 0x1002ba29
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
push edi
push eax
call ecx
add esp, 8
test eax, eax
jne 0x1002b60f
test edi, edi
jne 0x1002ba29
mov edx, dword [esp + 0x3c]
mov ecx, esi
neg ecx
mov dword [ecx + edx + 4], eax
mov esi, eax
mov dword [esp + ecx + 0x48], edi
jmp 0x1002b653
jne 0x1002ba37
xor eax, eax
cmp ecx, eax
ja 0x1002ba30
jb 0x1002b63f
cmp edi, dword [esp + 0x14]
ja 0x1002ba30
mov esi, dword [esp + 0x14]
sub esi, edi
add esi, dword [esp + 0x24]
mov ebx, edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
mov edx, dword [esp + 0x38]
mov eax, dword [edx + ebp*8]
mov edi, dword [edx + ebp*8 + 8]
mov ecx, dword [edx + ebp*8 + 4]
mov ebp, dword [edx + ebp*8 + 0xc]
sub edi, eax
sbb ebp, ecx
add eax, dword [esp + 0x3d0]
push 0
adc ecx, dword [esp + 0x3d8]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax + 0xc]
push eax
call ecx
add esp, 0xc
test eax, eax
jne 0x1002ba40
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x1002b6d3
cmp edi, ebx
jne 0x1002b919
cmp ebp, eax
jne 0x1002b919
push esi
mov esi, dword [esp + 0x20]
push ebp
push edi
call fcn.1002b2b0
add esp, 0xc
test eax, eax
jne 0x1002ba40
jmp 0x1002ba01
cmp eax, 0x30101
jne 0x1002b70b
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
movzx ecx, byte [eax + 9]
push ebx
push esi
push edx
mov edx, dword [eax]
add edx, dword [esp + 0x34]
push ebp
push edi
push ecx
mov ecx, dword [esp + 0x38]
call fcn.1002af40
add esp, 0x18
test eax, eax
jne 0x1002ba40
jmp 0x1002ba01
cmp eax, 0x21
jne 0x1002ba37
mov eax, dword [ecx]
add eax, dword [esp + 0x28]
cmp byte [ecx + 9], 1
jne 0x1002b919
mov edx, dword [esp + 0x20]
push edx
push ebx
push ebp
push edi
mov edi, dword [esp + 0x2c]
push eax
mov ecx, esi
call fcn.1002b110
add esp, 0x14
test eax, eax
jne 0x1002ba40
jmp 0x1002ba01
cmp eax, 0x303011b
jne 0x1002b923
mov eax, dword [esp + 0x38]
mov esi, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov ebp, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
sub edi, esi
sbb eax, ebp
cmp dword [esp + 0x10], 3
mov dword [esp + 0x74], eax
jne 0x1002ba37
xor ecx, ecx
cmp edi, edi
jne 0x1002ba29
cmp ecx, eax
jne 0x1002ba29
mov eax, dword [esp + 0x20]
push edi
push eax
mov eax, dword [eax]
call eax
mov ebx, dword [esp + 0x44]
add esp, 8
mov dword [ebx + 8], eax
test eax, eax
jne 0x1002b7a8
test edi, edi
jne 0x1002ba29
add esi, dword [esp + 0x3d0]
push 0
adc ebp, dword [esp + 0x3d8]
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x20]
mov edx, dword [esi + 0xc]
push ecx
push esi
mov dword [esp + 0x68], ebp
call edx
add esp, 0xc
test eax, eax
jne 0x1002ba40
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x74]
push eax
push ecx
push edi
call fcn.1002b2b0
add esp, 0xc
test eax, eax
jne 0x1002ba40
mov edx, dword [esp + 0x44]
test dl, 3
jne 0x1002b919
mov ecx, dword [esp + 0x48]
test cl, 3
jne 0x1002b919
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
lea eax, [esi + ecx]
add eax, edx
cmp eax, ebp
jne 0x1002b919
mov eax, dword [esp + 0x30]
mov dword [esp + 0x78], eax
add eax, esi
mov dword [esp + 0x88], eax
mov eax, dword [ebx]
mov dword [esp + 0x7c], eax
add eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x80], eax
add eax, ecx
mov dword [esp + 0x90], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x84], eax
add eax, edi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x98], eax
add ebp, eax
mov eax, 0x400
movzx edx, ax
mov eax, edx
xor esi, esi
shl edx, 0x10
or eax, edx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], 9
mov dword [esp + 0xa4], esi
mov byte [esp + 0xab], 0
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
mov ecx, 0x81
lea edi, [esp + 0xb4]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x78]
call fcn.1002c010
cmp eax, esi
jne 0x1002ba40
xor eax, eax
jmp 0x1002b8e0
mov ecx, dword [esp + eax*4 + 0x78]
cmp ecx, dword [esp + eax*4 + 0x88]
jne 0x1002b919
inc eax
cmp eax, 4
jb 0x1002b8e0
cmp dword [esp + 0xb0], esi
jne 0x1002b919
mov edx, dword [esp + 0x98]
cmp edx, dword [esp + 0x9c]
jne 0x1002b919
cmp dword [esp + 0xa0], esi
je 0x1002ba01
mov eax, 1
jmp 0x1002ba40
cmp edx, 1
jne 0x1002ba37
cmp eax, 3
jne 0x1002b97d
cmp byte [edi + 9], dl
jne 0x1002ba37
push pe_nt_image_headers32
lea eax, [esp + 0x2bc]
push 0
push eax
call fcn.10068c80
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
mov edi, dword [esp + 0x30]
add esp, 0xc
push ecx
mov ecx, dword [esp + 0x2c]
movzx ecx, byte [eax + ecx]
inc ecx
lea edx, [esp + 0x2bc]
call fcn.1002c2f0
add esp, 4
jmp 0x1002ba01
cmp byte [edi + 9], 0
jne 0x1002ba37
cmp eax, 0x3030501
ja 0x1002b9e1
je 0x1002b9d6
cmp eax, 0x3030103
je 0x1002b9c0
cmp eax, 0x3030205
je 0x1002b9b5
cmp eax, 0x3030401
jne 0x1002ba37
push ebx
push esi
call fcn.1002c690
add esp, 8
jmp 0x1002ba01
mov ecx, ebx
mov edx, esi
call fcn.1002c5c0
jmp 0x1002ba01
lea edx, [esp + 0x18]
push edx
push esi
mov eax, ebx
mov dword [esp + 0x20], ebp
call fcn.1002c3b0
add esp, 8
jmp 0x1002ba01
mov ecx, ebx
mov edx, esi
call fcn.1002c4f0
jmp 0x1002ba01
cmp eax, 0x3030701
je 0x1002b9fa
cmp eax, 0x3030805
jne 0x1002ba37
mov ecx, ebx
mov edx, esi
call fcn.1002c620
jmp 0x1002ba01
mov ecx, ebx
call fcn.1002c540
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx]
inc eax
mov dword [esp + 0x10], eax
cmp eax, ecx
jae 0x1002ba3e
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x14]
xor ebp, ebp
mov edx, eax
jmp 0x1002b580
mov eax, 2
jmp 0x1002ba40
mov eax, 5
jmp 0x1002ba40
mov eax, 4
jmp 0x1002ba40
xor eax, eax
mov ecx, dword [esp + 0x3bc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10061731
add esp, 0x3b0
ret