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

Disassembly:
sub esp, 0x1fc
mov eax, dword [0x105be7d0]
xor eax, esp
mov dword [esp + 0x1f4], eax
push ebx
push ebp
push esi
mov ebx, ecx
mov byte [esp + 0xf], 1
xor esi, esi
push edi
mov edi, edx
test ebx, ebx
je 0x10274a34
test edi, edi
je 0x10274a34
mov ebp, dword [esp + 0x210]
test ebp, ebp
je 0x10274a34
cmp dword [esp + 0x214], esi
je 0x10274a34
mov ecx, dword [ebx + 8]
mov eax, dword [edi]
sub ecx, eax
cmp ecx, 0xfffffffe
jle 0x102743e2
cmp ecx, 2
jge 0x102743e2
mov ecx, dword [ebx + 0xc]
mov edx, dword [edi + 4]
sub ecx, edx
cmp ecx, 0xfffffffe
jle 0x102743e2
cmp ecx, 2
jge 0x102743e2
mov ecx, dword [ebp]
sub eax, ecx
cmp eax, 0xfffffffe
jle 0x102743e2
cmp eax, 2
jge 0x102743e2
mov eax, dword [ebp + 4]
sub edx, eax
cmp edx, 0xfffffffe
jle 0x102743e2
cmp edx, 2
jge 0x102743e2
mov ebp, dword [esp + 0x214]
sub ecx, dword [ebp]
cmp ecx, 0xfffffffe
jle 0x102743e2
cmp ecx, 2
jge 0x102743e2
sub eax, dword [ebp + 4]
cmp eax, 0xfffffffe
jle 0x102743e2
cmp eax, 2
jge 0x102743e2
mov eax, dword [ebp]
mov dword [ebx + 8], eax
mov eax, dword [ebp + 4]
mov dword [ebx + 0xc], eax
jmp 0x10274a39
mov ecx, dword [esp + 0x214]
lea ebp, [esp + 0xd8]
mov dword [esp + 0x4c], ebp
mov eax, dword [ecx]
mov dword [esp + 0xd8], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x210]
mov dword [esp + 0xdc], eax
mov eax, dword [ecx]
mov dword [esp + 0xe0], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0xe4], eax
mov eax, dword [edi]
mov dword [esp + 0xe8], eax
mov eax, dword [edi + 4]
mov dword [esp + 0xec], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0xf0], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0xf4], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0x24], eax
mov edi, edi
mov ecx, dword [ebx]
mov eax, ecx
mov edi, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x1d8]
mov dword [esp + 0x18], edi
cmp ebp, eax
jae 0x102744c3
lea eax, [esp + 0x20]
mov ecx, ebp
push eax
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x20]
call fcn.10272840
add esp, 8
test al, al
jne 0x102744bd
cmp byte [ebx + 0x14], al
je 0x102744a4
mov eax, dword [esp + 0x18]
mov dword [ebx], eax
mov ecx, ebp
call fcn.10272720
add dword [esp + 0x14], 0x18
add ebp, 0x18
add dword [esp + 0x24], 0x18
jmp 0x10274a0d
mov edi, dword [esp + 0x18]
mov ecx, dword [ebx]
cmp byte [esp + 0x13], 0
je 0x102744f5
cmp byte [ebx + 0x14], 0
mov ecx, ebx
mov byte [esp + 0x13], 0
je 0x102744e7
push 0
mov edx, edi
call fcn.10273a90
add esp, 4
mov esi, eax
jmp 0x10274532
xor edx, edx
mov dword [ebx + 4], edi
call fcn.10273a00
mov esi, eax
jmp 0x10274532
mov edx, edi
call fcn.10239020
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x5a000
jle 0x10274532
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dword [ebx + 4], edi
mov dword [ebx + 0x30], 0
mov eax, dword [ecx]
mov dword [ebx + 8], eax
mov eax, dword [ecx + 4]
mov ecx, ebx
mov dword [ebx + 0xc], eax
call fcn.10273a00
mov esi, eax
mov eax, dword [ebx + 0x34]
mov dword [ebx + 0x30], eax
test esi, esi
jne 0x10274a39
mov dword [esp + 0x5c], esi
mov ecx, edi
mov esi, dword [esp + 0x1c]
mov edx, esi
call fcn.102727f0
mov edx, dword [esp + 0x20]
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.102727f0
mov edx, esi
mov dword [esp + 0x28], eax
mov ecx, edi
mov dword [esp + 0x90], 0xdbd95b
mov dword [esp + 0x94], 0
call fcn.10239020
cdq
lea ecx, [esp + 0x90]
sub eax, edx
sar eax, 1
mov edx, eax
call fcn.10238c40
mov edx, dword [esp + 0x90]
mov ecx, dword [ebx + 0x3c]
lea edx, [edx + 0x80]
sar edx, 8
call fcn.102342b0
mov edx, dword [esp + 0x20]
mov ecx, esi
mov dword [esp + 0xbc], eax
mov dword [esp + 0x9c], 0xdbd95b
mov dword [esp + 0xa0], 0
call fcn.10239020
cdq
lea ecx, [esp + 0x9c]
sub eax, edx
sar eax, 1
mov edx, eax
call fcn.10238c40
mov edx, dword [esp + 0x9c]
mov ecx, dword [ebx + 0x3c]
lea edx, [edx + 0x80]
sar edx, 8
call fcn.102342b0
cmp byte [ebx + 0x28], 0
mov dword [esp + 0x84], eax
je 0x10274620
mov eax, dword [esp + 0x14]
mov edx, dword [ebp + 4]
mov ecx, dword [ebp]
sub edx, dword [ebp + 0x1c]
sub ecx, dword [eax]
call fcn.10238ec0
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0x10]
lea edi, [ebx + 0x40]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc0], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc4], eax
mov eax, dword [ebp]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
sub edx, eax
sub ecx, eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x18], edx
mov dword [esp + 0xb0], ecx
lea ebp, [eax + 0x5a0000]
mov dword [esp + 0x28], ebp
jmp 0x10274690
mov eax, dword [esp + 0xbc]
lea ecx, [esp + 0x34]
add edx, ebp
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0
call fcn.10238ef0
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0x3c]
add dword [esp + 0x34], eax
mov edx, ebp
mov eax, dword [esp + 0x98]
add dword [esp + 0x38], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0
call fcn.10238ef0
mov eax, dword [esp + 0xa4]
lea ecx, [esp + 0x2c]
add dword [esp + 0x3c], eax
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xc4]
add dword [esp + 0x40], eax
mov eax, dword [ebx + 0x3c]
lea edx, [edx + ebp]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0
call fcn.10238ef0
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
add esi, dword [esp + 0x54]
add ebp, dword [esp + 0x1c]
cmp byte [ebx + 0x28], 0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ebp
je 0x102749b1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
mov edx, dword [ecx + eax*8 - 8]
mov ecx, dword [ecx + eax*8 - 4]
mov eax, ebp
sub eax, ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0xd4], ecx
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x68], edx
mov dword [esp + 0xd0], edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], ecx
jne 0x1027477b
test eax, eax
je 0x10274799
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0x78], eax
call fcn.10238bb0
lea ecx, [esp + 0x74]
call fcn.10238d30
mov eax, dword [esp + 0x78]
mov ecx, eax
mov dword [esp + 0x58], eax
sub ecx, dword [esp + 0x5c]
mov eax, 0x49f49f49
imul ecx
sub edx, ecx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x1680000
add ecx, eax
jns 0x102747c6
add ecx, 0x1680000
cmp ecx, 0xb40000
jle 0x102747d4
sub ecx, 0x1680000
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x5a0000
jle 0x102749b1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
mov ecx, dword [ecx]
sub eax, dword [esp + 0x64]
sub ecx, dword [esp + 0x68]
jne 0x10274806
test eax, eax
jne 0x10274806
mov dword [esp + 0x50], eax
jmp 0x1027482e
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x80], eax
call fcn.10238bb0
lea ecx, [esp + 0x7c]
call fcn.10238d30
mov eax, dword [esp + 0x80]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
sub eax, ebp
sub ecx, esi
jne 0x10274844
test eax, eax
jne 0x10274844
xor esi, esi
jmp 0x10274862
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x70], eax
call fcn.10238bb0
lea ecx, [esp + 0x6c]
call fcn.10238d30
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0xb4]
mov edx, esi
mov dword [esp + 0xc8], eax
sub edx, dword [esp + 0x58]
mov eax, dword [esp + 0x8c]
add edx, 0x5a0000
mov dword [esp + 0xcc], eax
mov dword [esp + 0xb4], 0xdbd95b
mov dword [esp + 0xb8], 0
call fcn.10238c40
sub esi, dword [esp + 0x50]
lea ecx, [esp + 0xa8]
mov dword [esp + 0xa8], 0xdbd95b
mov dword [esp + 0xac], 0
lea edx, [esi + 0x5a0000]
call fcn.10238c40
mov eax, dword [esp + 0xa8]
sub eax, 0xffffff80
sar eax, 8
cdq
xor eax, edx
sub eax, edx
push eax
mov eax, dword [esp + 0xb8]
sub eax, 0xffffff80
sar eax, 8
cdq
mov esi, eax
xor esi, edx
push ecx
lea ecx, [esp + 0xd0]
sub esi, edx
call fcn.10238fa0
add esp, 4
mov edx, esi
mov ecx, eax
call fcn.10234200
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x48]
add esp, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
call fcn.10238ef0
mov eax, dword [esp + 0x68]
lea edx, [esp + 0x44]
add dword [esp + 0x44], eax
mov ecx, edi
mov eax, dword [esp + 0x64]
add dword [esp + 0x48], eax
push 0
mov byte [edi + 0x10], 0
call fcn.10272be0
mov esi, eax
add esp, 4
test esi, esi
jne 0x10274a39
push eax
lea edx, [esp + 0x30]
mov ecx, edi
call fcn.10272be0
mov esi, eax
add esp, 4
test esi, esi
jne 0x10274a39
lea eax, [esp + 0xd0]
mov ecx, edi
push eax
lea eax, [esp + 0x38]
push eax
lea edx, [esp + 0x44]
call fcn.10272d00
mov esi, eax
add esp, 8
test esi, esi
jne 0x10274a39
push eax
lea edx, [esp + 0x30]
mov ecx, edi
call fcn.10272be0
add esp, 4
jmp 0x102749c9
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
lea eax, [esp + 0x40]
push eax
lea edx, [esp + 0x3c]
call fcn.10272d00
add esp, 8
mov esi, eax
test esi, esi
jne 0x10274a39
mov eax, dword [esp + 0x60]
add edi, 0x20
mov ebp, dword [esp + 0x28]
inc eax
mov edx, dword [esp + 0x18]
sub ebp, 0xb40000
mov dword [esp + 0x60], eax
mov dword [esp + 0x28], ebp
cmp eax, 1
jle 0x10274690
mov ebp, dword [esp + 0x4c]
sub dword [esp + 0x14], 0x18
sub ebp, 0x18
mov eax, dword [esp + 0x20]
sub dword [esp + 0x24], 0x18
mov dword [ebx], eax
lea eax, [esp + 0xd8]
mov dword [esp + 0x4c], ebp
cmp ebp, eax
jae 0x10274460
mov ecx, dword [esp + 0x214]
mov eax, dword [ecx]
mov dword [ebx + 8], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0xc], eax
jmp 0x10274a39
mov esi, 6
mov ecx, dword [esp + 0x204]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1033d458
add esp, 0x1fc
ret