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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
mov eax, dword [ecx]
push ecx
call dword [eax + 0x94]
mov ebx, eax
xor edi, edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], edi
call fcn.1001a069
mov dword [ebp - 4], eax
mov ecx, dword [eax]
mov esi, dword [ecx]
mov dword [ebp - 0xc], esi
cmp esi, ecx
je 0x100815e2
push ebx
call fcn.1008216b
mov ebx, dword [ebp + 0xc]
pop ecx
mov dword [ebp - 0x14], eax
push dword [ebp + 8]
add esi, 0x10
push dword [esi]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.10082005
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x30]
add esp, 0x10
push eax
push dword [esi]
call fcn.10015b92
lea ecx, [ebp - 0x30]
call fcn.1001524c
cmp dword [ebp - 0x10], eax
lea ecx, [ebp - 8]
push dword [esi]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x10]
cmovae ecx, eax
mov eax, dword [ecx]
mov dword [ebp - 0x10], eax
call fcn.1001a09a
pop ecx
cmp byte [eax + 0x28], 0
je 0x100815c2
push esi
lea ecx, [ebx + 0x48]
call fcn.1004667f
lea ecx, [ebp - 0x2c]
call fcn.10067a16
lea ecx, [ebp - 0xc]
call fcn.100134d4
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
cmp esi, dword [eax]
mov eax, dword [ebp - 0x14]
jne 0x1008156c
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp + 0xc]
mov edx, 0xb100
mov eax, 0x800
or dword [esi], 0xffffffff
mov dword [esi + 4], edi
cmp ebx, 0x9100
je 0x1008162d
cmp ebx, 0x9200
je 0x1008162d
cmp ebx, 0x9300
je 0x1008162d
cmp ebx, 0xa000
je 0x10081632
cmp ebx, 0xa100
je 0x10081632
cmp ebx, 0xb000
je 0x10081632
cmp ebx, edx
je 0x10081632
mov eax, edi
jmp 0x10081632
mov eax, 0x100
mov dword [esi + 8], eax
mov ecx, 0x1000
mov eax, 0x4000
cmp ebx, 0x9100
je 0x10081686
cmp ebx, 0x9200
je 0x10081686
cmp ebx, 0x9300
je 0x10081682
cmp ebx, 0xa000
je 0x1008167b
cmp ebx, 0xa100
je 0x1008167b
cmp ebx, 0xb000
je 0x10081677
cmp ebx, edx
je 0x10081677
mov edx, edi
jmp 0x1008168b
mov edx, eax
jmp 0x1008168b
mov edx, 0x2000
jmp 0x1008168b
mov edx, ecx
jmp 0x1008168b
mov edx, 0x800
mov dword [esi + 0xc], edx
mov dword [ebp + 8], 0x200
cmp ebx, 0x9100
je 0x100816dc
cmp ebx, 0x9200
je 0x100816dc
cmp ebx, 0x9300
je 0x100816d8
cmp ebx, 0xa000
je 0x100816d1
cmp ebx, 0xa100
je 0x100816d1
cmp ebx, 0xb000
je 0x100816df
cmp ebx, 0xb100
je 0x100816df
mov eax, edi
jmp 0x100816df
mov eax, 0x2000
jmp 0x100816df
mov eax, ecx
jmp 0x100816df
mov eax, dword [ebp + 8]
mov dword [esi + 0x18], eax
cmp ebx, 0x9100
je 0x10081726
cmp ebx, 0x9200
je 0x10081726
cmp ebx, 0x9300
je 0x10081726
cmp ebx, 0xa000
je 0x10081721
cmp ebx, 0xa100
je 0x10081721
cmp ebx, 0xb000
je 0x1008171a
cmp ebx, 0xb100
jne 0x10081726
mov eax, 0x800
jmp 0x10081728
mov eax, dword [ebp + 8]
jmp 0x10081728
mov eax, edi
push ebx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0x40000000
mov dword [esi + 0x1c], edx
call fcn.100821f6
add esp, 4
mov dword [ebp - 0x24], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
cmp ebx, 0x9100
je 0x10081792
cmp ebx, 0x9200
je 0x10081792
mov edx, 0x9300
cmp ebx, edx
je 0x1008179c
cmp ebx, 0xa000
je 0x1008178b
cmp ebx, 0xa100
je 0x1008178b
cmp ebx, 0xb000
je 0x10081784
cmp ebx, 0xb100
je 0x10081784
mov ecx, edi
jmp 0x1008179c
mov ecx, 0x7fff
jmp 0x1008179c
mov ecx, 0x3fff
jmp 0x1008179c
mov ecx, 0x800
mov edx, 0x9300
mov dword [esi + 0x28], ecx
mov eax, 0xfffff
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x30], 0x3f800000
mov dword [esi + 0x34], 0x44800000
mov dword [esi + 0x38], 0x3f800000
mov dword [esi + 0x3c], 0x3f800000
cmp ebx, 0x9100
je 0x10081806
cmp ebx, 0x9200
je 0x10081802
cmp ebx, edx
je 0x10081802
cmp ebx, 0xa000
je 0x100817fb
cmp ebx, 0xa100
je 0x100817fb
cmp ebx, 0xb000
je 0x100817fb
cmp ebx, 0xb100
je 0x100817fb
mov ecx, edi
jmp 0x1008180b
mov ecx, 0x7fffffff
jmp 0x1008180b
mov ecx, eax
jmp 0x1008180b
mov ecx, 0xffff
mov dword [esi + 0x40], ecx
cmp ebx, 0x9100
je 0x1008184d
cmp ebx, 0x9200
je 0x10081852
cmp ebx, edx
je 0x10081852
cmp ebx, 0xa000
je 0x10081846
cmp ebx, 0xa100
je 0x10081846
cmp ebx, 0xb000
je 0x10081846
cmp ebx, 0xb100
je 0x10081846
mov eax, edi
jmp 0x10081852
mov eax, 0x7fffffff
jmp 0x10081852
mov eax, 0xffff
mov dword [esi + 0x44], eax
lea ecx, [esi + 0x54]
lea eax, [ebp + 8]
mov dword [ebp + 8], 0x93a6
push eax
call fcn.1004667f
xor ecx, ecx
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], ecx
push 0x10
pop edx
mov dword [ebp - 8], edx
cmp ebx, 0x9100
je 0x100818b7
cmp ebx, 0x9200
je 0x100818b7
cmp ebx, 0x9300
je 0x100818b7
cmp ebx, 0xa000
je 0x100818b7
cmp ebx, 0xa100
je 0x100818b2
cmp ebx, 0xb000
je 0x100818b2
cmp ebx, 0xb100
je 0x100818b2
mov eax, ecx
jmp 0x100818b9
push 0x20
pop eax
jmp 0x100818b9
mov eax, edx
push ebx
mov dword [esi + 0x78], eax
call fcn.10082314
add esp, 4
mov dword [esi + 0x80], eax
mov edi, eax
shl edi, 2
mov dword [ebp - 0x18], edi
mov dword [esi + 0x7c], edi
push 0xc
pop edi
mov dword [ebp - 4], edi
cmp ebx, 0x9100
je 0x1008191d
cmp ebx, 0x9200
je 0x1008191d
cmp ebx, 0x9300
je 0x1008191d
cmp ebx, 0xa000
je 0x10081916
cmp ebx, 0xa100
je 0x10081916
cmp ebx, 0xb000
je 0x10081916
mov eax, ecx
cmp ebx, 0xb100
jne 0x10081918
mov eax, edi
mov dword [ebp + 8], eax
jmp 0x10081922
mov eax, ecx
mov dword [ebp + 8], ecx
push ebx
mov dword [esi + 0x84], eax
call fcn.100822c8
mov dword [ebp - 0x20], eax
add esp, 4
shl eax, 2
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x88], eax
cmp ebx, 0x9100
je 0x10081981
cmp ebx, 0x9200
je 0x10081981
cmp ebx, 0x9300
je 0x10081981
cmp ebx, 0xa000
je 0x1008197a
cmp ebx, 0xa100
je 0x1008197a
cmp ebx, 0xb000
je 0x1008197a
mov eax, ecx
cmp ebx, 0xb100
jne 0x1008197c
mov eax, edx
mov dword [ebp - 0xc], eax
jmp 0x10081986
mov eax, ecx
mov dword [ebp - 0xc], ecx
push ebx
mov dword [esi + 0x8c], eax
call fcn.100821af
add esp, 4
mov dword [esi + 0x94], eax
mov edx, eax
mov eax, 0x9100
shl edx, 2
mov dword [ebp - 0x14], edx
mov dword [esi + 0x90], edx
push 0x10
pop edx
cmp ebx, eax
je 0x100819ec
cmp ebx, 0x9200
je 0x100819ec
cmp ebx, 0x9300
je 0x100819ec
cmp ebx, 0xa000
je 0x100819e7
cmp ebx, 0xa100
je 0x100819e7
cmp ebx, 0xb000
je 0x100819f1
cmp ebx, 0xb100
je 0x100819f1
mov edi, ecx
mov dword [ebp - 4], edi
jmp 0x100819f1
mov edi, ecx
mov dword [ebp - 4], ecx
mov dword [esi + 0x98], edi
cmp ebx, eax
je 0x10081a37
cmp ebx, 0x9200
je 0x10081a37
cmp ebx, 0x9300
je 0x10081a33
cmp ebx, 0xa000
je 0x10081a2f
cmp ebx, 0xa100
je 0x10081a2f
cmp ebx, 0xb000
je 0x10081a2f
cmp ebx, 0xb100
je 0x10081a2f
mov eax, ecx
jmp 0x10081a3a
push 0x1c
jmp 0x10081a39
push 6
jmp 0x10081a39
push 4
pop eax
shl eax, 2
mov dword [esi + 0x9c], eax
mov eax, 0x9100
cmp ebx, eax
je 0x10081a7e
cmp ebx, 0x9200
je 0x10081a7e
cmp ebx, 0x9300
je 0x10081a7e
cmp ebx, 0xa000
je 0x10081a7e
cmp ebx, 0xa100
je 0x10081a7e
cmp ebx, 0xb000
je 0x10081a81
cmp ebx, 0xb100
je 0x10081a81
mov edx, ecx
mov dword [ebp - 8], edx
mov dword [esi + 0xa0], edx
cmp ebx, eax
je 0x10081ac0
cmp ebx, 0x9200
je 0x10081ac0
cmp ebx, 0x9300
je 0x10081ac0
cmp ebx, 0xa000
je 0x10081abb
cmp ebx, 0xa100
je 0x10081abb
cmp ebx, 0xb000
je 0x10081abb
cmp ebx, 0xb100
jne 0x10081ac0
push 0xfffffffffffffff8
pop eax
jmp 0x10081ac2
mov eax, ecx
mov dword [esi + 0xa4], eax
cmp ebx, 0x9100
je 0x10081b05
cmp ebx, 0x9200
je 0x10081b05
cmp ebx, 0x9300
je 0x10081b05
cmp ebx, 0xa000
je 0x10081b00
cmp ebx, 0xa100
je 0x10081b00
cmp ebx, 0xb000
je 0x10081b00
cmp ebx, 0xb100
jne 0x10081b05
push 7
pop eax
jmp 0x10081b07
mov eax, ecx
mov edx, dword [ebp + 8]
add edx, edi
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], edx
cmp ebx, 0x9100
je 0x10081b52
cmp ebx, 0x9200
je 0x10081b52
cmp ebx, 0x9300
je 0x10081b52
cmp ebx, 0xa000
je 0x10081b52
cmp ebx, 0xa100
je 0x10081b52
cmp ebx, 0xb000
je 0x10081b52
mov eax, ecx
cmp ebx, 0xb100
jne 0x10081b57
mov eax, 0x10000
mov dword [esi + 0xb0], eax
mov edi, eax
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xbc], edx
mov dword [esi + 0xb8], 0x7fffffff
mov esi, ecx
shrd edi, esi, 2
shr esi, 2
push esi
push edi
push ecx
push dword [ebp + 8]
call fcn.100d0590
add eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0xc]
push esi
adc edx, 0
xor esi, esi
push edi
push esi
push dword [ebp - 4]
mov dword [ecx + 0xc0], eax
mov dword [ecx + 0xc4], edx
call fcn.100d0590
mov ecx, dword [ebp + 0xc]
add eax, dword [ebp - 0x14]
push ebx
adc edx, esi
mov dword [ecx + 0xc8], eax
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 0xd0], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 0xd4], eax
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov dword [ecx + 0xcc], edx
mov dword [ecx + 0xd8], eax
call fcn.1008227f
mov edx, eax
push ebx
mov dword [ecx + 0xdc], edx
call fcn.1008223f
add esp, 8
mov edi, eax
mov dword [ecx + 0xe0], edi
cmp ebx, 0x9100
je 0x10081c41
cmp ebx, 0x9200
je 0x10081c41
cmp ebx, 0x9300
je 0x10081c41
cmp ebx, 0xa000
je 0x10081c3c
cmp ebx, 0xa100
je 0x10081c3c
cmp ebx, 0xb000
je 0x10081c34
cmp ebx, 0xb100
jne 0x10081c41
mov eax, edx
xor edx, edx
div edi
jmp 0x10081c43
push 4
pop eax
jmp 0x10081c43
mov eax, esi
push dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
mov dword [ecx + 0xe4], eax
mov ecx, esi
call fcn.10015c45
mov dword [esi], 0x1010101
mov dword [esi + 5], 0x1010101
cmp ebx, 0x9100
je 0x10081ca2
cmp ebx, 0x9200
je 0x10081ca2
cmp ebx, 0x9300
je 0x10081ca2
mov edx, 0xa000
cmp ebx, edx
je 0x10081c9c
cmp ebx, 0xa100
je 0x10081c9c
cmp ebx, 0xb000
je 0x10081c9c
cmp ebx, 0xb100
jne 0x10081ca7
mov al, 1
xor ecx, ecx
jmp 0x10081cab
mov edx, 0xa000
xor ecx, ecx
mov al, cl
cmp dword [ebp - 0x24], 1
mov byte [esi + 0x14], al
seta al
mov byte [esi + 0x13], 1
mov byte [esi + 0x15], al
mov eax, 0x9100
mov byte [esi + 0x16], 1
cmp ebx, eax
je 0x10081d0f
cmp ebx, 0x9200
je 0x10081d05
cmp ebx, 0x9300
je 0x10081d05
cmp ebx, edx
je 0x10081d05
cmp ebx, 0xa100
je 0x10081d05
mov edi, 0xb000
cmp ebx, edi
je 0x10081cfb
cmp ebx, 0xb100
je 0x10081cfb
xorps xmm0, xmm0
jmp 0x10081d1c
movss xmm0, dword [0x100fd5ec]
jmp 0x10081d1c
movss xmm0, dword [0x100fd5ec]
jmp 0x10081d17
movss xmm0, dword [0x100f0940]
mov edi, 0xb000
movss dword [esi + 0x18], xmm0
cmp ebx, eax
je 0x10081d51
cmp ebx, 0x9200
je 0x10081d4d
cmp ebx, 0x9300
je 0x10081d4d
cmp ebx, edx
je 0x10081d4d
cmp ebx, 0xa100
je 0x10081d4d
cmp ebx, edi
je 0x10081d4d
cmp ebx, 0xb100
jne 0x10081d51
mov al, 1
jmp 0x10081d53
mov al, cl
mov byte [esi + 0x1c], al
cmp ebx, 0x9100
je 0x10081d88
cmp ebx, 0x9200
je 0x10081d88
cmp ebx, 0x9300
je 0x10081d88
cmp ebx, edx
je 0x10081d88
cmp ebx, 0xa100
je 0x10081d88
cmp ebx, edi
je 0x10081d88
mov al, cl
cmp ebx, 0xb100
jne 0x10081d8a
mov al, 1
mov byte [esi + 0x1d], al
mov word [esi + 0x1e], 0x100
mov byte [esi + 0x20], 1
cmp ebx, 0x9100
je 0x10081dcb
cmp ebx, 0x9200
je 0x10081dcb
cmp ebx, 0x9300
je 0x10081dcb
cmp ebx, edx
je 0x10081dc7
cmp ebx, 0xa100
je 0x10081dc7
cmp ebx, edi
je 0x10081dc7
cmp ebx, 0xb100
jne 0x10081dcb
mov al, 1
jmp 0x10081dcd
mov al, cl
mov byte [esi + 0x21], al
cmp ebx, 0x9100
je 0x10081e04
cmp ebx, 0x9200
je 0x10081e04
cmp ebx, 0x9300
je 0x10081e04
cmp ebx, edx
je 0x10081e00
cmp ebx, 0xa100
je 0x10081e00
cmp ebx, edi
je 0x10081e00
cmp ebx, 0xb100
jne 0x10081e04
mov al, 1
jmp 0x10081e06
mov al, cl
mov edx, dword [ebp - 0x10]
mov byte [esi + 0x22], al
mov dword [esi + 0x24], edx
cmp ebx, 0x9100
je 0x10081e48
cmp ebx, 0x9200
je 0x10081e48
mov edx, 0x9300
cmp ebx, edx
je 0x10081e44
cmp ebx, 0xa000
je 0x10081e44
cmp ebx, 0xa100
je 0x10081e44
cmp ebx, edi
je 0x10081e44
cmp ebx, 0xb100
jne 0x10081e4d
mov al, 1
jmp 0x10081e4f
mov edx, 0x9300
mov al, cl
mov byte [esi + 0x28], al
mov byte [esi + 0x29], 1
cmp ebx, 0x9100
je 0x10081e8a
cmp ebx, 0x9200
je 0x10081e8a
cmp ebx, edx
je 0x10081e86
cmp ebx, 0xa000
je 0x10081e86
cmp ebx, 0xa100
je 0x10081e86
cmp ebx, edi
je 0x10081e86
cmp ebx, 0xb100
jne 0x10081e8a
mov al, 1
jmp 0x10081e8c
mov al, cl
mov byte [esi + 0x2a], al
cmp ebx, 0x9100
je 0x10081ec1
cmp ebx, 0x9200
je 0x10081ec1
cmp ebx, edx
je 0x10081ec1
cmp ebx, 0xa000
je 0x10081ebf
cmp ebx, 0xa100
je 0x10081ebf
cmp ebx, edi
je 0x10081ebf
cmp ebx, 0xb100
jne 0x10081ec1
mov cl, 1
pop edi
mov byte [esi + 0x2b], cl
mov word [esi + 0x2f], 0x101
mov byte [esi + 0x31], 1
pop esi
pop ebx
mov esp, ebp
pop ebp
ret