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

Disassembly:
sub esp, 0xa4
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xac]
push ebx
push ebp
push esi
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov esi, dword [eax + 8]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x4c], eax
push edi
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], 0
mov eax, dword [edi]
cdq
mov dword [esp + 0x1c], eax
mov ebp, edx
mov edx, dword [esp + 0x58]
mov eax, ecx
shrd eax, edx, 0x10
mov dword [esp + 0x80], eax
sar edx, 0x10
mov dword [esp + 0x58], edx
movzx eax, cx
mov dword [esp + 0x60], eax
mov eax, dword [edi + 4]
cdq
mov ecx, edx
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x54]
mov eax, esi
shrd eax, edx, 0x10
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x7c], eax
sar edx, 0x10
mov dword [esp + 0x54], edx
push dword [esp + 0x54]
movzx eax, si
push dword [esp + 0x80]
mov dword [esp + 0x64], eax
mov eax, dword [edi + 8]
cdq
mov esi, edx
mov edi, eax
mov edx, dword [esp + 0x58]
mov eax, ebx
shrd eax, edx, 0x10
push ecx
push dword [esp + 0x50]
sar edx, 0x10
mov dword [esp + 0x74], eax
mov dword [esp + 0x60], edx
call fcn.10264a60
push dword [esp + 0x58]
mov dword [esp + 0x24], eax
push dword [esp + 0x84]
mov dword [esp + 0x2c], edx
push ebp
push dword [esp + 0x28]
call fcn.10264a60
push dword [esp + 0x50]
add dword [esp + 0x24], eax
push dword [esp + 0x68]
adc dword [esp + 0x2c], edx
push esi
push edi
call fcn.10264a60
add dword [esp + 0x20], eax
push 0
push dword [esp + 0x64]
adc dword [esp + 0x2c], edx
push ebp
push dword [esp + 0x28]
movzx ebx, bx
mov dword [esp + 0x40], ebx
call fcn.10264a60
push 0
push ebx
push esi
push edi
mov dword [esp + 0x58], eax
mov ebp, edx
call fcn.10264a60
mov ebx, dword [esp + 0x48]
push 0
push dword [esp + 0x60]
add ebx, eax
push dword [esp + 0x44]
adc ebp, edx
push dword [esp + 0x50]
call fcn.10264a60
mov ecx, dword [esp + 0xb8]
add ebx, eax
mov dword [esp + 0x48], ebx
adc ebp, edx
mov dword [esp + 0x44], ebp
mov eax, dword [ecx + 0xc]
cdq
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x1c], edx
cdq
mov ebp, eax
mov ebx, edx
mov eax, dword [ecx + 0x14]
cdq
mov esi, edx
mov edi, eax
push esi
push edi
push dword [esp + 0x58]
push dword [esp + 0x70]
call fcn.10264a60
push ebx
push ebp
push dword [esp + 0x5c]
mov dword [esp + 0x34], eax
push dword [esp + 0x88]
mov dword [esp + 0x3c], edx
call fcn.10264a60
push dword [esp + 0x58]
add dword [esp + 0x2c], eax
push dword [esp + 0x84]
adc dword [esp + 0x34], edx
push dword [esp + 0x24]
push dword [esp + 0x1c]
call fcn.10264a60
add dword [esp + 0x28], eax
push esi
adc dword [esp + 0x30], edx
push edi
push 0
push dword [esp + 0x3c]
call fcn.10264a60
push ebx
push ebp
push 0
push dword [esp + 0x68]
mov edi, eax
mov esi, edx
call fcn.10264a60
push 0
push dword [esp + 0x64]
add edi, eax
push dword [esp + 0x24]
adc esi, edx
push dword [esp + 0x1c]
call fcn.10264a60
mov ecx, dword [esp + 0xb8]
add edi, eax
mov dword [esp + 0x1c], edi
adc esi, edx
mov dword [esp + 0x6c], esi
mov eax, dword [ecx + 0x18]
cdq
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
mov eax, dword [ecx + 0x1c]
cdq
mov dword [esp + 0x34], eax
mov ebp, edx
mov eax, dword [ecx + 0x20]
cdq
mov edi, edx
mov ebx, eax
push edi
push ebx
push 0
push dword [esp + 0x3c]
call fcn.10264a60
push ebp
push dword [esp + 0x38]
mov dword [esp + 0x38], eax
push 0
push dword [esp + 0x68]
mov dword [esp + 0x20], edx
call fcn.10264a60
push dword [esp + 0x38]
add dword [esp + 0x34], eax
push dword [esp + 0x40]
adc dword [esp + 0x18], edx
push 0
push dword [esp + 0x6c]
call fcn.10264a60
mov ecx, dword [esp + 0x30]
add ecx, eax
mov eax, dword [esp + 0x10]
push edi
adc eax, edx
mov dword [esp + 0x34], ecx
push ebx
push dword [esp + 0x58]
mov dword [esp + 0x1c], eax
push dword [esp + 0x70]
movzx eax, cx
mov ecx, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x24], ecx
call fcn.10264a60
push ebp
push dword [esp + 0x38]
mov edi, eax
mov dword [esp + 0x6c], edx
push dword [esp + 0x5c]
push dword [esp + 0x88]
call fcn.10264a60
push dword [esp + 0x38]
mov ebp, dword [esp + 0x68]
add edi, eax
push dword [esp + 0x40]
adc ebp, edx
push dword [esp + 0x60]
push dword [esp + 0x8c]
call fcn.10264a60
mov ecx, dword [esp + 0x10]
add edi, eax
adc ebp, edx
mov edx, dword [esp + 0x30]
mov eax, edx
shrd eax, ecx, 0x10
sar ecx, 0x10
add edi, eax
mov dword [esp + 0x3c], edi
adc ebp, ecx
mov dword [esp + 0x40], ebp
cmp edi, 0x10000
jne 0x101d20fe
test ebp, ebp
jne 0x101d20fe
movzx ecx, dx
cmp word [esp + 0x60], bp
jne 0x101d21e7
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
add ecx, 0x8000
mov ebx, dword [esp + 0x68]
adc eax, ebp
shrd ecx, eax, 0x10
sar eax, 0x10
add ecx, dword [esp + 0x20]
mov dword [ebx], ecx
adc eax, dword [esp + 0x24]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x1c]
add eax, 0x8000
adc esi, ebp
shrd eax, esi, 0x10
sar esi, 0x10
add eax, dword [esp + 0x28]
mov dword [ebx + 8], eax
adc esi, dword [esp + 0x2c]
mov dword [ebx + 0xc], esi
jmp 0x101d2584
mov eax, dword [esp + 0x5c]
movzx ecx, ax
mov eax, edi
or eax, ebp
jne 0x101d21e7
cmp word [esp + 0x14], 0
mov eax, dword [esp + 0x74]
movzx ecx, ax
jne 0x101d21e7
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
add ecx, 0x8000
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x68]
adc eax, 0
shrd ecx, eax, 0x10
mov dword [esp + 0x4c], 1
sar eax, 0x10
add ecx, dword [esp + 0x20]
mov dword [ebx], ecx
adc eax, dword [esp + 0x24]
add edx, 0x8000
mov dword [ebx + 4], eax
adc esi, 0
shrd edx, esi, 0x10
sar esi, 0x10
add edx, dword [esp + 0x28]
mov dword [ebx + 8], edx
adc esi, dword [esp + 0x2c]
mov dword [ebx + 0xc], esi
test eax, eax
jl 0x101d2198
jg 0x101d217f
test ecx, ecx
je 0x101d218e
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0x7fffffff
jmp 0x101d21a5
test eax, eax
jg 0x101d21a5
jl 0x101d2198
test ecx, ecx
jae 0x101d21a5
mov dword [ebx], 0
mov dword [ebx + 4], 0x80000000
test esi, esi
jl 0x101d21d4
jg 0x101d21af
test edx, edx
je 0x101d21c2
mov dword [ebx + 8], 0xffffffff
mov dword [ebx + 0xc], 0x7fffffff
jmp 0x101d2584
test esi, esi
jg 0x101d2584
jl 0x101d21d4
test edx, edx
jae 0x101d2584
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0x80000000
jmp 0x101d2584
mov eax, ebp
movzx ecx, cx
test ebp, ebp
not eax
cmovns eax, ebp
test eax, eax
jne 0x101d2308
mov ebx, dword [esp + 0x44]
mov eax, ecx
shld ebp, edi, 0x10
cdq
lea ecx, [esp + 0x6c]
shl edi, 0x10
add edi, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], edi
mov edi, eax
adc ebp, edx
movzx edx, ax
shrd edi, ebx, 0x10
push ecx
sar ebx, 0x10
add edi, dword [esp + 0x24]
push ebp
adc ebx, dword [esp + 0x2c]
xor ecx, ecx
push dword [esp + 0x44]
mov eax, ebx
shld eax, edi, 0x10
shl edi, 0x10
add edx, edi
adc ecx, eax
mov eax, ebx
shld ecx, edx, 0x10
sar eax, 0x1f
push ecx
shl edx, 0x10
push edx
push eax
push ebx
call fcn.101d2930
mov ebx, dword [esp + 0x88]
mov ecx, edx
sar ecx, 0x1f
mov edi, edx
add esp, 0x1c
sar edi, 0x1f
cmp ecx, ebx
mov ecx, dword [esp + 0x70]
jne 0x101d2277
cmp edi, ecx
je 0x101d229a
mov dword [esp + 0x4c], 1
test ecx, ecx
jl 0x101d2293
jg 0x101d2289
test ebx, ebx
jb 0x101d2293
or eax, 0xffffffff
mov edx, 0x7fffffff
jmp 0x101d229a
xor eax, eax
mov edx, 0x80000000
mov ebx, dword [esp + 0x68]
lea ecx, [esp + 0x6c]
push ecx
push ebp
push dword [esp + 0x44]
mov dword [ebx], eax
mov eax, dword [esp + 0x28]
mov edi, eax
shrd edi, esi, 0x10
mov dword [ebx + 4], edx
sar esi, 0x10
add edi, dword [esp + 0x34]
movzx edx, ax
adc esi, dword [esp + 0x38]
xor ecx, ecx
mov eax, esi
shld eax, edi, 0x10
shl edi, 0x10
add edx, edi
adc ecx, eax
mov eax, esi
shld ecx, edx, 0x10
sar eax, 0x1f
push ecx
shl edx, 0x10
push edx
push eax
push esi
call fcn.101d2930
mov edi, dword [esp + 0x88]
mov ecx, edx
sar ecx, 0x1f
mov esi, edx
add esp, 0x1c
sar esi, 0x1f
cmp ecx, edi
mov ecx, dword [esp + 0x70]
jmp 0x101d2555
xor ebx, ebx
nop word [eax + eax]
inc ebx
shr eax, 1
jne 0x101d2310
mov ecx, 0x10
movzx eax, dx
sub ecx, ebx
cdq
test ecx, ecx
jg 0x101d2337
neg ecx
mov eax, edi
mov edx, ebp
call fcn.102654d0
mov ebp, eax
mov dword [esp + 0x10], edx
jmp 0x101d2371
movq xmm1, qword [esp + 0x3c]
movd xmm0, ecx
psllq xmm1, xmm0
movq qword [esp + 0x14], xmm1
cmp ecx, 0x10
jge 0x101d2359
mov ecx, ebx
call fcn.102654d0
jmp 0x101d2361
add ecx, 0xfffffff0
call fcn.10265840
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add ebp, eax
adc ecx, edx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x48]
mov edi, 0x20
mov edx, dword [esp + 0x44]
sub edi, ebx
mov ebx, eax
movzx eax, ax
shrd ebx, edx, 0x10
mov dword [esp + 0x3c], eax
sar edx, 0x10
add ebx, dword [esp + 0x20]
mov dword [esp + 0x14], ebx
mov eax, ebx
adc edx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
test edi, edi
jg 0x101d23bd
mov ecx, edi
neg ecx
call fcn.102654d0
mov ecx, edx
mov ebx, eax
mov eax, ecx
sar eax, 0x1f
sar edx, 0x1f
jmp 0x101d241a
mov ecx, 0x40
sub ecx, edi
call fcn.102654d0
movq xmm1, qword [esp + 0x14]
movd xmm0, edi
mov dword [esp + 0x34], edx
xor edx, edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
psllq xmm1, xmm0
movq qword [esp + 0x14], xmm1
cmp edi, 0x10
jge 0x101d23fe
mov ecx, 0x10
sub ecx, edi
call fcn.102654d0
jmp 0x101d2406
lea ecx, [edi - 0x10]
call fcn.10265840
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add ebx, eax
mov eax, dword [esp + 0x38]
adc ecx, edx
mov edx, dword [esp + 0x34]
lea esi, [esp + 0x74]
push esi
push dword [esp + 0x14]
push ebp
push ecx
push ebx
push edx
push eax
call fcn.101d2930
mov esi, dword [esp + 0x88]
mov ecx, edx
sar ecx, 0x1f
mov ebx, edx
add esp, 0x1c
sar ebx, 0x1f
cmp ecx, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
jne 0x101d244f
cmp ebx, ecx
je 0x101d2475
mov dword [esp + 0x4c], 1
test ecx, ecx
jl 0x101d246e
jg 0x101d2464
cmp dword [esp + 0x74], 0
jb 0x101d246e
or eax, 0xffffffff
mov edx, 0x7fffffff
jmp 0x101d2475
xor eax, eax
mov edx, 0x80000000
mov ebx, dword [esp + 0x68]
mov dword [ebx], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
shrd ecx, esi, 0x10
movzx eax, ax
sar esi, 0x10
add ecx, dword [esp + 0x28]
mov dword [ebx + 4], edx
adc esi, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
mov edx, esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x3c], eax
test edi, edi
jg 0x101d24c1
neg edi
mov eax, ecx
mov ecx, edi
call fcn.102654d0
mov ecx, edx
mov esi, eax
mov eax, ecx
sar eax, 0x1f
sar edx, 0x1f
jmp 0x101d2528
mov eax, 0x40
sub eax, edi
mov dword [esp + 0x6c], eax
mov eax, ecx
mov ecx, dword [esp + 0x6c]
call fcn.102654d0
movq xmm1, qword [esp + 0x14]
movd xmm0, edi
mov dword [esp + 0x34], edx
xor edx, edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
psllq xmm1, xmm0
movq qword [esp + 0x14], xmm1
cmp edi, 0x10
jge 0x101d250c
mov ecx, 0x10
sub ecx, edi
call fcn.102654d0
jmp 0x101d2514
lea ecx, [edi - 0x10]
call fcn.10265840
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add esi, eax
mov eax, dword [esp + 0x38]
adc ecx, edx
mov edx, dword [esp + 0x34]
lea edi, [esp + 0x74]
push edi
push dword [esp + 0x14]
push ebp
push ecx
push esi
push edx
push eax
call fcn.101d2930
mov edi, dword [esp + 0x90]
mov ecx, edx
sar ecx, 0x1f
mov esi, edx
add esp, 0x1c
sar esi, 0x1f
cmp ecx, edi
mov ecx, dword [esp + 0x78]
jne 0x101d255b
cmp esi, ecx
je 0x101d257e
mov dword [esp + 0x4c], 1
test ecx, ecx
jl 0x101d2577
jg 0x101d256d
test edi, edi
jb 0x101d2577
or eax, 0xffffffff
mov edx, 0x7fffffff
jmp 0x101d257e
xor eax, eax
mov edx, 0x80000000
mov dword [ebx + 0xc], edx
mov dword [ebx + 8], eax
pop edi
xor eax, eax
mov dword [ebx + 0x10], 0x10000
cmp dword [esp + 0x48], eax
pop esi
pop ebp
mov dword [ebx + 0x14], 0
sete al
pop ebx
add esp, 0xa4
ret