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

Disassembly:
sub esp, 0xa0
push ebx
mov ebx, dword [esp + 0xa8]
push ebp
push esi
push edi
mov edi, eax
mov eax, dword [edi]
mov edx, dword [eax + 0x6c]
push 0x2e
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
call edx
mov esi, dword [eax]
mov dword [eax], 0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1010239e
add dword [eax + 4], 0xffffffff
add eax, 4
cmp dword [eax], 0
jg 0x1010239e
lea ecx, [eax - 4]
test ecx, ecx
je 0x1010239e
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov eax, esi
neg eax
sbb eax, eax
test eax, 0x10100260
je 0x101023ed
push 1
push 0xa9
lea ecx, [esp + 0x4c]
push ecx
push edi
lea eax, [esp + 0x8c]
call fcn.1030ad1f
lea edx, [esp + 0x44]
push edx
call fcn.10001b00
test esi, esi
je 0x10102d5e
add dword [esi + 4], 0xffffffff
cmp dword [esi + 4], 0
jg 0x10102d5e
mov ecx, esi
test ecx, ecx
jmp 0x10102d54
mov eax, dword [edi]
mov edx, dword [eax + 0x6c]
push 0xa9
lea ecx, [esp + 0x8c]
push ecx
mov ecx, edi
call edx
test esi, esi
mov ebp, dword [eax]
mov dword [esp + 0x7c], ebp
mov dword [eax], 0
je 0x1010242b
add dword [esi + 4], 0xffffffff
cmp dword [esi + 4], 0
jg 0x1010242b
mov ecx, esi
test ecx, ecx
je 0x1010242b
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x10102451
add dword [eax + 4], 0xffffffff
add eax, 4
cmp dword [eax], 0
jg 0x10102451
lea ecx, [eax - 4]
test ecx, ecx
je 0x10102451
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
test ebp, ebp
je 0x10102d5e
mov eax, dword [ebp]
fldz
mov edx, dword [eax + 0x5c]
fstp dword [esp + 0x4c]
mov ecx, ebp
call edx
cmp ax, 1
jne 0x1010247d
cmp word [ebp + 0x10], 5
jne 0x1010247d
fld qword [ebp + 0x18]
fstp dword [esp + 0x4c]
push 1
push 0xa9
lea eax, [esp + 0x38]
push eax
push edi
lea eax, [esp + 0x90]
call fcn.1030ad1f
lea ecx, [esp + 0x30]
push ecx
call fcn.10001b00
fldz
fcomp dword [esp + 0x4c]
fnstsw ax
test ah, 0x44
jp 0x101024da
add dword [ebp + 4], 0xffffffff
cmp dword [ebp + 4], 0
jg 0x10102d5e
mov ecx, ebp
test ecx, ecx
je 0x10102d5e
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret 4
cmp byte [ebx + 0xa4], 0
lea eax, [esp + 0x10]
je 0x101024f1
lea edx, [ebx + 0x3c]
call fcn.10002490
jmp 0x101024fc
lea edx, [ebx + 0x94]
call fcn.10002470
cmp byte [ebx + 0xa4], 0
lea eax, [esp + 0x18]
lea edx, [ebx + 0x54]
jne 0x10102512
lea edx, [ebx + 0x9c]
call fcn.10002470
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
push ecx
push edx
mov edx, dword [esp + 0x18]
mov eax, esi
call fcn.100a2c90
add esp, 8
test ax, ax
jge 0x1010256a
lea edx, [esp + 0x10]
lea eax, [esp + 0x24]
call fcn.10002470
lea edi, [esp + 0x18]
lea esi, [esp + 0x10]
call fcn.1006a670
lea edi, [esp + 0x24]
lea esi, [esp + 0x18]
call fcn.1006a670
mov eax, edi
call fcn.10069bb0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
mov edx, dword [eax + 0x6c]
mov ecx, edi
call edx
test al, al
je 0x101025e0
lea eax, [esp + 0x18]
push eax
mov eax, dword [edi + 8]
lea ecx, [esp + 0x14]
push ecx
push ebx
call fcn.10105460
lea esi, [esp + 0x24]
mov eax, ebx
call fcn.101018c0
mov edi, eax
lea esi, [esp + 0x10]
call fcn.1006a670
lea eax, [esp + 0x24]
call fcn.10069bb0
cmp byte [ebx + 0xa4], 0
lea eax, [esp + 0x24]
lea edx, [ebx + 0x54]
jne 0x101025c3
lea edx, [ebx + 0x9c]
call fcn.10002470
lea edi, [esp + 0x24]
lea esi, [esp + 0x18]
call fcn.1006a670
mov eax, edi
call fcn.10069bb0
mov esi, dword [esp + 0x18]
mov edx, dword [esi]
mov eax, dword [edx + 0x6c]
mov ecx, esi
call eax
test al, al
je 0x1010264b
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 8], eax
je 0x1010264b
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x14]
push ecx
push ebx
call fcn.10105460
lea esi, [esp + 0x24]
mov eax, ebx
call fcn.101018c0
mov edi, eax
lea esi, [esp + 0x10]
call fcn.1006a670
lea eax, [esp + 0x24]
call fcn.10069bb0
lea esi, [esp + 0x24]
mov eax, ebx
call fcn.101018f0
mov edi, eax
lea esi, [esp + 0x18]
call fcn.1006a670
lea eax, [esp + 0x24]
call fcn.10069bb0
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.10104670
test al, al
je 0x101026b1
lea esi, [esp + 0x24]
mov eax, ebx
call fcn.101018c0
mov edi, eax
lea esi, [esp + 0x10]
call fcn.1006a670
lea eax, [esp + 0x24]
call fcn.10069bb0
cmp byte [ebx + 0xa4], 0
lea eax, [esp + 0x24]
lea edx, [ebx + 0x54]
jne 0x10102694
lea edx, [ebx + 0x9c]
call fcn.10002470
lea edi, [esp + 0x24]
lea esi, [esp + 0x18]
call fcn.1006a670
mov eax, edi
call fcn.10069bb0
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x18]
push ecx
push ebx
lea eax, [esp + 0x18]
call fcn.10104750
test al, al
je 0x10102716
lea esi, [esp + 0x24]
mov eax, ebx
call fcn.101018c0
mov edi, eax
lea esi, [esp + 0x10]
call fcn.1006a670
lea eax, [esp + 0x24]
call fcn.10069bb0
cmp byte [ebx + 0xa4], 0
lea eax, [esp + 0x24]
lea edx, [ebx + 0x54]
jne 0x101026f9
lea edx, [ebx + 0x9c]
call fcn.10002470
lea edi, [esp + 0x24]
lea esi, [esp + 0x18]
call fcn.1006a670
mov eax, edi
call fcn.10069bb0
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push edx
mov ecx, esi
call fcn.100baaa0
test al, al
je 0x10102761
test esi, esi
jne 0x10102732
xor ebp, ebp
mov dword [esp + 0x3c], ebp
jmp 0x1010276e
mov eax, dword [esi + 0x14]
test eax, eax
je 0x10102741
mov ebp, eax
mov dword [esp + 0x3c], ebp
jmp 0x1010276e
mov eax, esi
cmp dword [eax + 0x14], 0
jne 0x10102758
mov eax, dword [eax + 8]
test eax, eax
jne 0x10102743
xor ebp, ebp
mov dword [esp + 0x3c], ebp
jmp 0x1010276e
mov ebp, dword [eax + 0x14]
mov dword [esp + 0x3c], ebp
jmp 0x1010276e
xor edi, edi
call fcn.100ba720
mov ebp, eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x14]
call fcn.10105e30
mov edi, eax
lea esi, [esp + 0x10]
call fcn.1006a670
lea eax, [esp + 0x24]
call fcn.10069bb0
mov esi, dword [esp + 0x10]
mov edx, dword [esi]
mov eax, dword [edx + 0x6c]
mov ecx, esi
mov ebx, esi
call eax
test al, al
je 0x101027be
mov edx, dword [esi]
mov eax, dword [edx + 0x110]
mov ecx, esi
call eax
cmp dword [esp + 0x14], eax
jl 0x101027be
xor edi, edi
call fcn.100ba720
mov ebx, eax
xor edi, edi
cmp ebx, ebp
mov eax, ebx
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0x34], eax
je 0x10102884
cmp eax, edi
jne 0x101027f9
fldz
jmp 0x101027fe
call fcn.10105350
lea ecx, [esp + 0x30]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
push ecx
lea edx, [esp + 0x38]
fstp dword [esp + 0x34]
push edx
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0xa8]
call fcn.10105680
cmp byte [eax + 8], 0
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [esp + 0x54], edx
jne 0x1010283b
fld dword [esp + 0x20]
fstp dword [ecx + 4]
mov esi, dword [esp + 0x34]
mov eax, dword [esi]
mov edx, dword [eax + 0x170]
mov ecx, esi
call edx
test eax, eax
je 0x1010285d
mov eax, dword [esi]
mov edx, dword [eax + 0x170]
mov ecx, esi
call edx
jmp 0x10102878
mov eax, dword [esi + 0x14]
cmp eax, edi
jne 0x10102878
mov eax, esi
cmp dword [eax + 0x14], edi
jne 0x101028f7
mov eax, dword [eax + 8]
cmp eax, edi
jne 0x10102866
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x34], eax
jne 0x101027f1
xor ecx, ecx
cmp ebx, ebp
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], 0x100b4bb0
mov dword [esp + 0x74], ecx
mov byte [esp + 0x78], cl
mov dword [esp + 0x84], ecx
mov dword [esp + 0x40], ebx
je 0x10102c23
lea esp, [esp]
mov eax, dword [ebx]
mov edx, dword [eax + 0x5c]
mov ebp, dword [esp + 0xb4]
mov ecx, ebx
call edx
test al, al
je 0x101028ff
lea eax, [esp + 0x18]
push eax
lea edi, [esp + 0x14]
mov esi, ebx
call fcn.101045d0
test al, al
je 0x10102bd8
mov edi, ebx
mov dword [esp + 0x20], edi
jmp 0x1010299e
mov eax, dword [eax + 0x14]
jmp 0x10102878
mov edx, dword [ebx]
mov eax, dword [edx + 0x6c]
mov ecx, ebx
call eax
test al, al
je 0x10102bd8
cmp dword [ebx + 0x18], 0
je 0x10102bd8
mov ecx, dword [esp + 0x84]
cmp dword [ebx + 8], ecx
je 0x10102bd8
mov eax, dword [ebp + 8]
lea edi, [esp + 0x98]
call fcn.101013b0
mov esi, dword [eax]
mov dword [eax], 0
mov eax, dword [esp + 0x98]
test eax, eax
mov ecx, eax
je 0x10102967
add dword [eax + 4], 0xffffffff
add eax, 4
cmp dword [eax], 0
jg 0x10102967
cmp dword [ecx + 8], 0
jne 0x10102967
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
push esi
push ebp
mov edi, ebx
call fcn.101275d0
push ebx
push ebp
mov eax, esi
mov ecx, ebx
call fcn.10104d60
test esi, esi
mov edi, esi
mov dword [esp + 0x20], edi
je 0x1010299e
add dword [esi + 4], 0xffffffff
cmp dword [esi + 4], 0
jg 0x1010299e
cmp dword [esi + 8], 0
jne 0x1010299e
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
cmp dword [edi + 0x44], 0
mov dword [esp + 0x84], ebx
jne 0x101029b0
call fcn.10138ca0
mov esi, dword [esp + 0x20]
mov ebp, dword [esi + 0x44]
mov eax, ebx
call fcn.10105350
fstp dword [esp + 0x34]
lea eax, [esp + 0x40]
lea ecx, [esp + 0x9c]
call fcn.10105630
fadd dword [esp + 0x4c]
fstp dword [esp + 0x38]
fld dword [0x10c555d0]
fstp dword [esp + 0x48]
fld dword [esp + 0x38]
fcomp qword [0x10c558d8]
fnstsw ax
test ah, 0x41
lea eax, [esp + 0x38]
je 0x101029fd
lea eax, [esp + 0x48]
fld dword [eax]
mov edx, dword [ebp]
mov edx, dword [edx + 0x6c]
fstp dword [esp + 0x48]
push 0x2e
lea eax, [esp + 0x94]
push eax
mov ecx, ebp
call edx
mov edi, dword [eax]
mov dword [eax], 0
mov eax, dword [esp + 0x90]
test eax, eax
mov dword [esp + 0x38], edi
je 0x10102a49
add dword [eax + 4], 0xffffffff
add eax, 4
cmp dword [eax], 0
jg 0x10102a49
lea ecx, [eax - 4]
test ecx, ecx
je 0x10102a49
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov ebx, dword [esp + 0x40]
neg edi
sbb edi, edi
test edi, 0x10100260
je 0x10102a8f
push 1
push 0x2e
lea eax, [esp + 0x94]
push eax
push ebp
lea eax, [esp + 0x50]
call fcn.1030ad1f
lea ecx, [esp + 0x8c]
push ecx
call fcn.10001b00
test ebx, ebx
jne 0x10102a84
fldz
jmp 0x10102a8b
mov eax, ebx
call fcn.10105350
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fld dword [esp + 0x48]
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x10102b79
sub esp, 8
fstp qword [esp]
lea edx, [esp + 0x38]
push 0x10c190a8
push edx
call fcn.1005c060
add esp, 0x10
push 0x10c1a018
lea eax, [esp + 0x98]
call fcn.1005bb90
mov edi, eax
lea eax, [esp + 0x30]
lea esi, [esp + 0x44]
call fcn.1005be60
lea eax, [esp + 0x94]
push eax
call fcn.10001b00
push 0
push 0
mov ecx, esi
push ecx
push 0x2e
lea eax, [esp + 0x34]
mov edi, ebp
call fcn.1030ad1f
mov edx, esi
push edx
call fcn.10001b00
lea eax, [esp + 0x30]
push eax
call fcn.10001b00
mov edx, dword [ebp]
mov edx, dword [edx + 0x5c]
lea eax, [esp + 0x80]
push eax
mov ecx, ebp
call edx
push 0x8c
mov esi, eax
call fcn.102f361c
add esp, 4
test eax, eax
je 0x10102b4b
mov edi, dword [esp + 0x20]
push esi
push 0x10c88260
mov esi, eax
call fcn.101dc500
jmp 0x10102b4d
xor eax, eax
test eax, eax
push ecx
mov ecx, esp
mov dword [ecx], eax
je 0x10102b5a
add dword [eax + 4], 1
mov eax, dword [esp + 0xb8]
call fcn.101273d0
lea eax, [esp + 0x80]
push eax
call fcn.10001b00
mov esi, dword [esp + 0x20]
jmp 0x10102b7b
fstp st(0)
mov edx, dword [ebp]
mov eax, dword [edx + 0x64]
mov ecx, ebp
call eax
test eax, eax
jne 0x10102bb5
mov ecx, dword [esp + 0xb4]
push ecx
mov eax, esi
call fcn.10127f90
mov eax, esi
call fcn.10101200
test al, al
je 0x10102bb5
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x6c]
push edx
lea esi, [esp + 0x64]
call fcn.10160ba0
cmp dword [esp + 0x38], 0
je 0x10102bd8
mov eax, dword [esp + 0x38]
add dword [eax + 4], 0xffffffff
cmp dword [eax + 4], 0
jg 0x10102bd8
mov ecx, eax
test ecx, ecx
je 0x10102bd8
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x170]
mov ecx, ebx
call edx
test eax, eax
je 0x10102bf6
mov eax, dword [ebx]
mov edx, dword [eax + 0x170]
mov ecx, ebx
call edx
jmp 0x10102c0f
mov eax, dword [ebx + 0x14]
test eax, eax
jne 0x10102c0f
lea ecx, [ecx]
cmp dword [ebx + 0x14], 0
jne 0x10102c83
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x10102c00
xor eax, eax
cmp eax, dword [esp + 0x3c]
mov ebx, eax
mov dword [esp + 0x40], ebx
jne 0x101028c0
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x60]
xor ebx, ebx
cmp ecx, ebx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ebx
je 0x10102c4c
lea edx, [esp + 0x50]
mov dword [ecx + 0xc], edx
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0xb4]
lea ecx, [esp + 0x50]
mov dword [esp + 0x74], ecx
jmp 0x10102c60
cmp eax, ebx
je 0x10102c88
mov eax, dword [eax]
cmp eax, ebx
je 0x10102c88
push esi
mov edi, eax
call fcn.10127860
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x10102c88
mov eax, dword [eax + 4]
mov dword [esp + 0x54], eax
jmp 0x10102c60
mov eax, dword [ebx + 0x14]
jmp 0x10102c0f
mov ecx, dword [esp + 0x50]
cmp ecx, ebx
je 0x10102cb7
mov eax, dword [esp + 0x5c]
cmp eax, ebx
jne 0x10102ca1
mov edx, dword [esp + 0x58]
mov dword [ecx + 0x14], edx
jmp 0x10102ca8
mov ecx, dword [esp + 0x58]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x58]
cmp eax, ebx
je 0x10102cb7
mov edx, dword [esp + 0x5c]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x78]
push eax
lea ecx, [esp + 0x64]
push ecx
call fcn.10160b40
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x10102ce2
mov edi, edi
mov esi, dword [eax + 4]
push eax
call fcn.102f353f
add esp, 4
cmp esi, ebx
mov eax, esi
jne 0x10102cd0
mov eax, dword [esp + 0x74]
cmp eax, ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
je 0x10102d23
lea ebx, [ebx]
mov dword [eax + 4], ebx
mov eax, dword [eax + 8]
cmp eax, ebx
jne 0x10102d00
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x10102d23
mov ecx, dword [eax + 8]
cmp ecx, ebx
mov dword [eax], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov eax, ecx
jne 0x10102d12
mov edx, dword [esp + 0x9c]
push edx
call fcn.102f353f
add esp, 4
lea eax, [esp + 0x18]
call fcn.10069bb0
lea eax, [esp + 0x10]
call fcn.10069bb0
mov ecx, dword [esp + 0x7c]
add dword [ecx + 4], 0xffffffff
cmp dword [ecx + 4], ebx
jg 0x10102d5e
cmp ecx, ebx
je 0x10102d5e
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret 4