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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [eax]
mov eax, dword [eax + 8]
mov ecx, esi
imul ecx, ecx, 0x70
push edi
push ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], eax
call fcn.100b8ee0
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x24], ebx
je 0x100bf520
test esi, esi
mov edi, 3
mov dword [esp + 0x20], 0
jle 0x100bf4a4
mov ebx, dword [ebp + 0x10]
mov esi, eax
add esi, 0x18
mov eax, dword [ebp + 8]
mov edx, dword [eax + edi*4]
add edi, 1
mov dword [esi - 4], edx
mov ecx, dword [eax + edi*4]
add edi, 1
mov dword [esi], ecx
mov edx, dword [eax + edi*4]
add edi, 1
mov dword [esi + 4], edx
mov ecx, dword [eax + edi*4]
add edi, 1
mov dword [esi + 8], ecx
mov edx, dword [eax + edi*4]
add edi, 1
mov dword [esi + 0xc], edx
mov ecx, dword [eax + edi*4]
add edi, 1
mov dword [esi + 0x10], ecx
mov edx, dword [eax + edi*4]
add edi, 1
mov dword [esi + 0x14], edx
mov eax, dword [eax + edi*4]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 4]
add edi, 1
test eax, eax
jle 0x100bf449
lea ecx, [eax*4]
push ecx
call fcn.100b8ee0
add esp, 4
test eax, eax
mov dword [esi + 0x50], eax
je 0x100bf4f0
xor eax, eax
cmp dword [esi + 4], eax
jle 0x100bf450
jmp 0x100bf430
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + edi*4]
mov edx, dword [esi + 0x50]
mov dword [edx + eax*4], ecx
add eax, 1
add edi, 1
cmp eax, dword [esi + 4]
jl 0x100bf430
jmp 0x100bf450
mov dword [esi + 0x50], 0
fld qword [ebx]
mov eax, dword [esp + 0x20]
fstp qword [esi + 0x20]
add ebx, 8
fld qword [ebx]
add ebx, 8
fstp qword [esi + 0x28]
add ebx, 8
fld qword [ebx - 8]
add ebx, 8
fstp qword [esi + 0x30]
add ebx, 8
fld qword [ebx - 0x10]
add eax, 1
fstp qword [esi + 0x38]
add ebx, 8
fld qword [ebx - 0x10]
add esi, 0x70
cmp eax, dword [esp + 0x2c]
fstp qword [esi - 0x30]
fld qword [ebx - 8]
mov dword [esp + 0x20], eax
fstp qword [esi - 0x28]
jl 0x100bf3b5
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
lea eax, [edx*4]
push eax
call fcn.100b8ee0
add esp, 4
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x100bf529
test esi, esi
jle 0x100bf4de
lea edi, [ebx + 0x68]
mov eax, dword [edi]
test eax, eax
je 0x100bf4d6
push eax
call fcn.100b8f00
add esp, 4
add edi, 0x70
sub esi, 1
jne 0x100bf4c7
push ebx
call fcn.100b8f00
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
lea esi, [ebx + 0x68]
jmp 0x100bf500
mov eax, dword [esi]
test eax, eax
je 0x100bf50f
push eax
call fcn.100b8f00
add esp, 4
add esi, 0x70
sub edi, 1
jne 0x100bf500
push ebx
call fcn.100b8f00
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
jle 0x100bf546
mov ecx, eax
mov eax, ebx
or edx, 0xffffffff
cmp dword [eax + 0x18], edx
jne 0x100bf53e
mov dword [ecx], eax
add ecx, 4
add eax, 0x70
sub esi, 1
jne 0x100bf534
mov eax, dword [ebp + 0x14]
test eax, eax
mov dword [esp + 0x34], 0
jle 0x100bf9d8
mov ecx, dword [ebp + 0x18]
fld qword [0x100dd1e0]
fld qword [esp + 0x58]
mov edi, dword [esp + 0x4c]
fld qword [esp + 0x50]
mov dword [esp + 0x28], ecx
fld qword [esp + 0x60]
mov dword [esp + 0x38], eax
mov esi, ecx
fld qword [esi]
xor edx, edx
cmp dword [esp + 0x30], edx
fmul st(4)
fld qword [esi + 8]
mov ebx, 5
fmul st(5)
fst qword [esp + 0x78]
jle 0x100bf9ba
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + edx*4]
fld qword [ecx + 0x48]
fcomp st(2)
fnstsw ax
test ah, 1
jne 0x100bf5d6
fld qword [ecx + 0x50]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x100bf5d6
fcom qword [ecx + 0x38]
fnstsw ax
test ah, 1
jne 0x100bf5d6
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 5
jp 0x100bf5d6
cmp ebx, 1
jg 0x100bf70a
fld qword [ecx + 0x48]
fcomp st(2)
fnstsw ax
test ah, 1
jne 0x100bf606
fld qword [ecx + 0x50]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x100bf606
fld qword [ecx + 0x40]
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x100bf606
cmp ebx, 2
jle 0x100bf606
mov ebx, 2
jmp 0x100bf654
fld qword [ecx + 0x50]
fucomp st(2)
fnstsw ax
test ah, 0x44
jp 0x100bf632
fcom qword [ecx + 0x38]
fnstsw ax
test ah, 1
jne 0x100bf632
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 5
jp 0x100bf632
cmp ebx, 3
jle 0x100bf632
mov ebx, 3
jmp 0x100bf654
fld qword [ecx + 0x50]
fucomp st(2)
fnstsw ax
test ah, 0x44
jp 0x100bf656
fld qword [ecx + 0x40]
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x100bf656
cmp ebx, 4
jle 0x100bf656
mov ebx, 4
mov edi, ecx
add edx, 1
cmp edx, dword [esp + 0x30]
jl 0x100bf59a
cmp ebx, 5
je 0x100bf9ba
mov esi, edi
fstp st(5)
xor edi, edi
cmp dword [esi + 0x1c], edi
lea ecx, [edi + 5]
lea edx, [edi + 1]
jle 0x100bf79c
test edx, edx
je 0x100bf79c
xor edx, edx
cmp dword [esi + 0x1c], edx
mov dword [esp + 0x20], edx
jle 0x100bf79c
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x20]
mov edi, dword [eax + edi*4]
imul edi, edi, 0x70
add edi, dword [esp + 0x24]
fcom qword [edi + 0x48]
fnstsw ax
test ah, 0x41
jp 0x100bf6de
fcom qword [edi + 0x50]
fnstsw ax
test ah, 0x41
jne 0x100bf6de
fld qword [edi + 0x38]
fcomp st(5)
fnstsw ax
test ah, 0x41
jp 0x100bf6de
fld qword [edi + 0x40]
fcomp st(5)
fnstsw ax
test ah, 0x41
jne 0x100bf6de
cmp ecx, 1
jg 0x100bf787
fcom qword [esi + 0x48]
fnstsw ax
test ah, 0x41
jp 0x100bf716
fcom qword [esi + 0x50]
fnstsw ax
test ah, 0x41
jne 0x100bf716
fld qword [esi + 0x40]
fucomp st(5)
fnstsw ax
test ah, 0x44
jp 0x100bf716
cmp ecx, 2
jle 0x100bf716
mov ecx, 2
jmp 0x100bf768
mov edi, ecx
mov ebx, 1
jmp 0x100bf66c
fld qword [esi + 0x50]
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x100bf746
fld qword [esi + 0x38]
fcomp st(5)
fnstsw ax
test ah, 0x41
jp 0x100bf746
fld qword [esi + 0x40]
fcomp st(5)
fnstsw ax
test ah, 0x41
jne 0x100bf746
cmp ecx, 3
jle 0x100bf746
mov ecx, 3
jmp 0x100bf768
fld qword [esi + 0x50]
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x100bf771
fld qword [esi + 0x40]
fucomp st(5)
fnstsw ax
test ah, 0x44
jp 0x100bf771
cmp ecx, 4
jle 0x100bf771
mov ecx, 4
mov edx, 1
mov esi, edi
mov ebx, ecx
mov eax, dword [esp + 0x20]
add eax, 1
cmp eax, dword [esi + 0x1c]
mov dword [esp + 0x20], eax
jl 0x100bf698
jmp 0x100bf792
mov edx, 1
mov ecx, edx
mov esi, edi
mov ebx, ecx
cmp dword [esi + 0x1c], 0
jg 0x100bf681
fld qword [esi + 0x48]
mov ecx, dword [esi + 0x30]
fsub st(1)
mov edx, dword [ebp + 0xc]
lea eax, [edx + ecx*4]
mov ecx, dword [esi + 0x20]
fdiv qword [esi + 0x60]
lea edx, [eax + ecx*4]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
fxch st(5)
fsub qword [esi + 0x38]
fdiv qword [esi + 0x58]
fld st(5)
call fcn.100db3f0
fld st(0)
mov dword [esp + 0x20], eax
call fcn.100db3f0
fild dword [esp + 0x20]
mov esi, dword [esi + 0x28]
mov ecx, esi
imul ecx, eax
fsubp st(6)
fxch st(5)
fst qword [esp + 0x70]
add ecx, dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x48]
add ecx, ecx
fild dword [esp + 0x40]
add ecx, ecx
add ebx, 0xffffffff
add eax, ecx
cmp ebx, 3
fsubp st(6)
fxch st(5)
fst qword [esp + 0x40]
ja case.default.0x100bf813
jmp dword [ebx*4 + 0x100bfa20]
fstp st(4)
fstp st(2)
fstp st(0)
fld dword [eax]
fst qword [esp + 0x58]
fld dword [eax + 4]
fst qword [esp + 0x50]
fld dword [eax + esi*4]
fst qword [esp + 0x60]
fld dword [eax + esi*4 + 4]
fstp qword [esp + 0x68]
jmp 0x100bf8aa
fstp st(4)
fstp st(2)
fstp st(0)
fld dword [eax]
fst qword [esp + 0x58]
fld dword [eax + 4]
fst qword [esp + 0x50]
fld st(1)
fst qword [esp + 0x60]
fxch st(1)
fst qword [esp + 0x68]
fxch st(1)
jmp 0x100bf8aa
fstp st(4)
fstp st(2)
fstp st(0)
fld dword [eax]
fst qword [esp + 0x58]
fld st(0)
fst qword [esp + 0x50]
fld dword [eax + esi*4]
fst qword [esp + 0x60]
fst qword [esp + 0x68]
jmp 0x100bf8aa
fstp st(4)
fstp st(2)
fstp st(0)
fld dword [eax]
fst qword [esp + 0x58]
fld st(0)
fst qword [esp + 0x50]
fld st(1)
fst qword [esp + 0x60]
fxch st(2)
fst qword [esp + 0x68]
jmp 0x100bf8a8
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
cmp ebx, 3
fld st(1)
fsub st(3)
mov edx, dword [esp + 0x4c]
lea eax, [ecx + edx]
fmul st(6)
fadd st(3)
fld st(1)
fsub st(4)
fmul st(6)
faddp st(1)
fld qword [esp + 0x68]
fsubrp st(3)
fxch st(2)
fsubrp st(1)
faddp st(2)
fxch st(1)
fmulp st(4)
fxch st(3)
fmulp st(2)
fxch st(2)
faddp st(1)
ja case.default.0x100bf8de
jmp dword [ebx*4 + 0x100bfa30]
fld dword [eax]
fstp qword [esp + 0x58]
fld dword [eax + 4]
fstp qword [esp + 0x50]
fld dword [eax + esi*4]
fstp qword [esp + 0x60]
fld dword [eax + esi*4 + 4]
jmp 0x100bf933
fld dword [eax]
fst qword [esp + 0x58]
fld dword [eax + 4]
fst qword [esp + 0x50]
fstp qword [esp + 0x68]
fstp qword [esp + 0x60]
jmp case.default.0x100bf8de
fld dword [eax]
fst qword [esp + 0x58]
fstp qword [esp + 0x50]
fld dword [eax + esi*4]
jmp 0x100bf92f
fld dword [eax]
fst qword [esp + 0x58]
fst qword [esp + 0x50]
fst qword [esp + 0x60]
fstp qword [esp + 0x68]
fdiv qword [0x100dcbf8]
sub esp, 8
fsubp st(1)
fmul qword [0x1016cb38]
fstp qword [esp]
call sym.pe.dll_pe_delta
mov eax, dword [esp + 0x28]
fstp qword [eax]
add dword [esp + 0x34], 1
fld qword [esp + 0x50]
mov esi, eax
fld st(0)
fld qword [esp + 0x58]
fsub st(1), st(0)
fld qword [esp + 0x70]
fmul st(2), st(0)
fxch st(2)
fadd st(1)
fld qword [esp + 0x60]
fld st(0)
fsub st(3)
fld qword [esp + 0x40]
fmul st(1), st(0)
fxch st(3)
faddp st(1)
fld qword [esp + 0x68]
fsub st(6)
fsub st(2)
fadd st(4)
fmulp st(5)
fxch st(4)
fmulp st(2)
fxch st(3)
faddp st(1)
fdiv qword [0x100dcbf8]
fadd qword [esp + 0x78]
fmul qword [0x1016cb38]
fstp qword [eax + 8]
fld qword [0x100dd1e0]
fxch st(3)
fxch st(1)
fxch st(2)
jmp 0x100bf9be
fstp st(0)
fstp st(0)
add esi, 0x10
sub dword [esp + 0x38], 1
mov dword [esp + 0x28], esi
jne 0x100bf57c
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
mov edi, dword [esp + 0x2c]
test edi, edi
jle 0x100bf9fe
mov esi, dword [esp + 0x24]
add esi, 0x68
mov eax, dword [esi]
test eax, eax
je 0x100bf9f6
push eax
call fcn.100b8f00
add esp, 4
add esi, 0x70
sub edi, 1
jne 0x100bf9e7
mov eax, dword [esp + 0x3c]
push eax
call fcn.100b8f00
mov ecx, dword [esp + 0x28]
push ecx
call fcn.100b8f00
mov eax, dword [esp + 0x3c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret