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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x650
mov esi, esp
mov dword [esi + 0x638], ebp
mov ebx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
movsd xmm0, qword [ebp + 0x10]
mov dword [esi + 0x63c], esp
mov dword [esi + 0x648], 0xffffffff
lea eax, [esi + 0x640]
mov dword [esi + 0x644], 0x10127a20
mov ecx, dword fs:[0]
mov dword [esi + 0x640], ecx
mov dword fs:[0], eax
movzx eax, byte [edx + 0xa]
test al, al
mov ecx, 2
cmovne ecx, eax
mov dword [esi + 0x18], ecx
mov byte [esi + 0x27], cl
movsx ecx, byte [edx + 8]
add ecx, 0xffffffbf
mov eax, dword [edx + 4]
mov dword [esi + 0x20], 3
xor edx, edx
mov dword [esi], 0
mov dword [esi + 4], 0
cmp ecx, 0x26
mov dword [esi + 0x7c], ebx
ja case.default.0x10125167
xor ebx, ebx
jmp dword [ecx*4 + 0x101259e0]
mov cl, 1
mov dword [esi], ecx
mov ebx, dword [esi]
mov dword [esi + 0x20], 4
mov cl, 1
mov dword [esi], ecx
mov cl, 0x70
mov dword [esi + 4], ecx
jmp case.0x10125167.66
mov cl, 1
mov dword [esi], ecx
cmp eax, 0xffffffff
mov ecx, 6
cmove eax, ecx
mov ebx, dword [esi]
mov dword [esi + 0x20], 2
mov dword [esi + 4], 0
jmp 0x101251d7
mov cl, 1
mov dword [esi], ecx
cmp eax, 0xffffffff
mov ecx, 6
cmove eax, ecx
mov ebx, dword [esi]
mov dword [esi + 0x20], 1
jmp 0x101251d2
mov cl, 1
mov dword [esi], ecx
mov ebx, dword [esi]
cmp eax, 0xffffffff
mov ecx, 6
cmove eax, ecx
mov cl, 0x65
mov dword [esi + 4], ecx
mov dword [esi], 0
mov dword [esi + 0xc], ebx
lea ecx, [eax - 0x432]
cmp eax, 0x433
cmovge edx, ecx
mov dword [esi + 0x3c], edx
cmp eax, 0x432
mov ebx, 0x432
cmovl ebx, eax
sub esp, 8
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dsign]
add esp, 8
mov edi, eax
test eax, eax
setne byte [esi + 0x26]
movsd xmm0, qword [ebp + 0x10]
movsd qword [esi + 0x80], xmm0
lea eax, [esi + 0x80]
push eax
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dtest]
add esp, 4
cmp ax, 2
mov dword [esi + 0x78], ebx
jne 0x1012525f
cmp edi, 1
lea eax, [esi + 0xcf]
sbb eax, 0xffffffff
mov byte [eax + 2], 0x6e
mov word [eax], 0x616e
add eax, 3
mov dword [esi + 0x58], eax
movsd xmm0, qword [ebp + 0x10]
jmp 0x101252ad
mov dword [esi + 0x14], edi
lea ecx, [esi + 0x638]
lea edi, [esi + 0xcf]
cmp ebx, 0xffffffff
je 0x101253b2
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov eax, dword [esi + 0x20]
mov dword [esp + 0x10], eax
movsd xmm0, qword [ebp + 0x10]
movsd qword [esp + 8], xmm0
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.10125c40
movsd xmm0, qword [ebp + 0x10]
add esp, 0x18
mov dword [esi + 0x5c], edx
mov dword [esi + 0x58], eax
mov edi, dword [esi + 0x14]
lea edx, [esi + 0xcf]
mov ecx, eax
sub ecx, edx
mov dword [esi + 0x54], edx
mov dword [esi + 0x34], ecx
test edi, edi
mov ebx, dword [esi + 0xc]
je 0x101252d2
lea edx, [esi + 0xd0]
mov dword [esi + 0x54], edx
mov edi, dword [ebp + 0x18]
jmp 0x101252df
cmp byte [esi + 0x18], 2
mov edi, dword [ebp + 0x18]
je 0x101252df
inc ecx
mov dword [esi + 0x34], ecx
mov dword [esi + 0x18], ecx
test bl, bl
mov dword [esi], eax
mov dword [esi + 0x14], edx
je 0x1012532e
cmp edx, eax
je 0x10125314
mov edi, eax
mov ebx, dword [esi + 0x14]
nop word cs:[eax + eax]
movsx eax, byte [ebx]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov byte [ebx], al
inc ebx
cmp ebx, edi
jne 0x10125300
movzx eax, byte [esi + 4]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov ebx, eax
mov edi, dword [ebp + 0x18]
movsd xmm0, qword [ebp + 0x10]
jmp 0x10125331
mov ebx, dword [esi + 4]
movsd qword [esi + 0x80], xmm0
lea eax, [esi + 0x80]
push eax
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dtest]
add esp, 4
mov byte [esi + 0x13], 0
mov ecx, dword [esi]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x50], ecx
mov dword [esi + 0x28], 0
mov dword [esi + 0x4c], 0
xorpd xmm0, xmm0
movapd xmmword [esi + 0x60], xmm0
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0xf
test ax, ax
jle 0x1012538c
xor edx, edx
mov ebx, dword [esi + 0x18]
jmp 0x10125766
mov word [esi + 0xa], ax
mov dh, byte [edi + 0xb]
mov dl, byte [edi + 0xc]
mov al, dh
or al, dl
jne 0x10125441
mov dword [esi + 0x2c], 0
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x3c]
jmp 0x10125601
movq xmm0, qword [ebp + 0x10]
movq qword [esi + 0xc0], xmm0
mov ebx, dword [esi + 0xc0]
mov eax, dword [esi + 0xc4]
mov edx, eax
test eax, eax
jns 0x101253f2
lea edi, [esi + 0xd0]
mov byte [esi + 0xcf], 0x2d
mov edx, eax
and edx, 0x7fffffff
movd xmm0, ebx
movd xmm1, edx
punpckldq xmm0, xmm1
mov ecx, edx
not ecx
test ecx, 0x7ff00000
jne 0x10125485
mov ecx, ebx
mov ebx, edx
and ebx, 0xfffff
mov dword [esi], ecx
or ecx, ebx
je 0x1012550d
test eax, eax
movsd xmm0, qword [ebp + 0x10]
jns 0x1012551f
xor ebx, 0x80000
or dword [esi], ebx
jne 0x1012551f
mov ebx, 8
mov dword [esi], str.nan_ind_
jmp 0x10125541
mov byte [esi + 0x25], dl
mov dword [esi + 4], ebx
mov ebx, ecx
mov eax, ecx
cmp dword [esi + 0x14], ecx
jae 0x101255a8
mov byte [esi + 0x2c], dh
mov eax, ecx
mov edi, dword [esi + 0x14]
sub eax, edi
mov edx, dword [esi + 0x30]
mov ebx, dword [esi + 0x40]
mov dword [esi + 0x1c], ebx
mov ebx, edi
not ebx
mov dword [esi + 0x38], ebx
test al, 1
jne 0x101254b9
mov dword [esi + 0xc], ecx
mov ebx, ecx
add dword [esi + 0x38], ecx
je 0x10125592
jmp 0x1012560c
cmp byte [esi], 0
je 0x101254d4
sub esp, 0x10
movq qword [esp + 8], xmm0
lea eax, [esi + 0x638]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.10125a90
add esp, 0x10
movsd xmm0, qword [ebp + 0x10]
jmp 0x101252a4
xor ebx, ebx
jmp case.0x10125167.66
mov eax, edi
movzx ebx, byte [edi]
cmp bl, 0x2e
jne 0x10125578
mov dword [esi + 0x1c], eax
mov dword [esi + 0xc], eax
mov ebx, dword [esi]
jmp 0x10125588
mov dword [esi + 0x648], 0
sub esp, 0x14
mov eax, dword [esi + 0x20]
mov dword [esp + 0x10], eax
movq qword [esp + 8], xmm0
lea eax, [esi + 0x638]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.101194c0
add esp, 0x14
movsd xmm0, qword [ebp + 0x10]
jmp 0x101252a4
mov ebx, 3
mov dword [esi], 0x101ee5cb
movsd xmm0, qword [ebp + 0x10]
jmp 0x10125541
test edx, 0x80000
mov ecx, str.nan_snan_
mov eax, 0x101ede46
cmove eax, ecx
mov dword [esi], eax
mov ecx, 9
mov ebx, 3
cmove ebx, ecx
lea ecx, [esi + 0x638]
sub ecx, edi
mov edx, 0x84
cmp ecx, ebx
lea eax, [esi + 0x638]
jl 0x101252a4
push ebx
push dword [esi]
push edi
call sub.VCRUNTIME140.dll_memcpy
movsd xmm0, qword [ebp + 0x10]
add esp, 0xc
add edi, ebx
xor edx, edx
mov eax, edi
jmp 0x101252a4
cmp bl, byte [esi + 4]
cmove edx, eax
mov edi, dword [esi]
mov ebx, edi
cmove ebx, eax
mov dword [esi + 0xc], edi
lea edi, [eax + 1]
mov ecx, dword [esi]
add dword [esi + 0x38], ecx
jne 0x1012560c
mov dword [esi + 0x30], edx
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x40], eax
mov edi, dword [ebp + 0x18]
mov ecx, dword [esi]
mov eax, ebx
mov dh, byte [esi + 0x2c]
mov ebx, dword [esi + 0xc]
cmp eax, ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x1c], eax
cmovb ebx, eax
xor eax, eax
mov dword [esi + 0x50], ebx
test dh, dh
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x38], ebx
je 0x101255d7
cmp dword [esi + 0xc], ecx
jne 0x101255d7
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x34], eax
mov byte [esi + 0x13], 1
mov al, 1
mov ebx, dword [esi + 4]
cmp byte [esi + 0x25], 0
mov dword [esi + 0x2c], eax
je 0x10125601
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x1012565a
mov ecx, dword [eax + 4]
mov dword [esi + 0x48], ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esi + 0x648], 3
jmp 0x10125671
mov eax, dword [esi + 0x20]
dec eax
jmp dword [eax*4 + 0x10125a7c]
inc edi
jmp 0x10125627
cmp al, byte [esi + 4]
cmove edx, edi
cmove ebx, edi
lea eax, [edi + 2]
inc edi
cmp edi, ecx
mov edi, eax
je 0x10125592
lea ecx, [edi - 1]
movzx eax, byte [edi - 1]
cmp al, 0x2e
jne 0x10125640
mov dword [esi + 0x1c], ecx
mov dword [esi + 0xc], ecx
jmp 0x10125649
cmp al, byte [esi + 4]
cmove edx, ecx
cmove ebx, ecx
movzx eax, byte [edi]
cmp al, 0x2e
mov ecx, dword [esi]
jne 0x10125610
mov dword [esi + 0x1c], edi
mov dword [esi + 0xc], edi
jmp 0x10125619
mov dword [esi + 0x648], 1
push 1
call sub.MSVCP140.dll_private:_static_class_std::locale::_Locimp____cdecl_std::locale::_Init_bool_
add esp, 4
mov dword [esi + 0x48], eax
mov dword [esi + 0x648], 3
lea eax, [esi + 0x44]
push eax
call fcn.1011d8b0
add esp, 4
mov edx, dword [eax]
mov ecx, eax
lea eax, [esi + 0x80]
push eax
call dword [edx + 0x14]
mov ecx, dword [esi + 0x48]
movups xmm0, xmmword [esi + 0x80]
movaps xmmword [esi + 0x60], xmm0
movsd xmm0, qword [esi + 0x90]
movsd qword [esi + 0x70], xmm0
mov dword [esi + 0x90], 0
mov dword [esi + 0x94], 0xf
mov byte [esi + 0x80], 0
test ecx, ecx
je 0x101256e0
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x101256e0
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ebx, dword [esi + 0x70]
cmp dword [esi + 0x74], 0x10
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 0x38]
jb 0x101256f4
mov ecx, dword [esi + 0x60]
jmp 0x101256f7
lea ecx, [esi + 0x60]
xor edx, edx
test ebx, ebx
je 0x10125723
sub eax, edi
movsx edi, byte [ecx]
cmp eax, edi
mov dword [esi + 0xc], ebx
jbe 0x10125723
add dword [esi + 0xc], ecx
xor edx, edx
mov ebx, ecx
sub eax, edi
inc ebx
inc edx
cmp ebx, dword [esi + 0xc]
cmovne ecx, ebx
movsx edi, byte [ecx]
mov ebx, ecx
cmp eax, edi
ja 0x10125710
mov dword [esi + 0x4c], edx
mov eax, dword [esi + 0x20]
dec eax
mov edi, dword [ebp + 0x18]
mov edx, dword [esi + 0x3c]
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
jmp dword [eax*4 + 0x10125a7c]
test edx, edx
je 0x1012575c
mov ecx, dword [esi + 0x1c]
dec ecx
nop word cs:[eax + eax]
mov dword [esi + 0x30], ecx
lea eax, [ecx - 1]
cmp byte [ecx], bl
mov ecx, eax
jne 0x10125750
mov dword [esi + 0x28], edx
mov ebx, dword [esi + 0x18]
movzx eax, word [esi + 0xa]
test ax, ax
setle al
add ebx, edx
mov dword [esi + 0x34], ebx
cmp byte [edi + 0xd], 0
setne dl
cmp byte [edi + 9], 0
sete cl
and cl, dl
lea edx, [esi + 0x27]
mov dword [esi + 0x80], edx
lea edx, [esi + 0x26]
mov dword [esi + 0x84], edx
lea edx, [esi + 0x44]
mov dword [esi + 0x88], edx
lea edx, [esi + 0x34]
mov dword [esi + 0x8c], edx
mov dword [esi + 0x90], edi
lea edx, [ebp + 0x1c]
mov dword [esi + 0x94], edx
lea edx, [esi + 0x54]
mov dword [esi + 0x98], edx
lea edx, [esi + 0x50]
mov dword [esi + 0x9c], edx
lea edx, [esi + 0x60]
mov dword [esi + 0xa0], edx
lea edx, [esi + 0x4c]
mov dword [esi + 0xa4], edx
lea edx, [esi + 0x40]
mov dword [esi + 0xa8], edx
lea edx, [esi + 0x58]
mov dword [esi + 0xac], edx
lea edx, [esi + 0x13]
mov dword [esi + 0xb0], edx
lea edx, [esi + 0x30]
mov dword [esi + 0xb4], edx
lea edx, [esi + 0x28]
mov dword [esi + 0xb8], edx
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x648], 2
and cl, al
mov byte [esi + 0x44], cl
je 0x1012582a
lea ecx, [esi + 0x80]
push edx
push dword [ebp + 8]
call fcn.10123670
jmp 0x10125841
lea eax, [esi + 0x80]
push eax
push 2
push edi
push ebx
push edx
push dword [ebp + 8]
call fcn.10123a40
add esp, 0x18
mov eax, dword [esi + 0x74]
cmp eax, 0x10
mov ebx, dword [ebp + 8]
jb 0x1012587c
mov ecx, dword [esi + 0x60]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x10125872
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10125945
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10155bc0
add esp, 8
mov eax, dword [esi + 0x640]
mov dword fs:[0], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop dword [eax + eax]
push ebp
sub esp, 0x18
lea esi, [ebp - 0x64c]
mov ebp, dword [esi + 0x638]
call sub.VCRUNTIME140.dll___std_terminate
nop word cs:[eax + eax]
push ebp
sub esp, 0x18
lea esi, [ebp - 0x64c]
mov ebp, dword [esi + 0x638]
call sub.VCRUNTIME140.dll___std_terminate
nop word cs:[eax + eax]
push ebp
sub esp, 0x18
lea esi, [ebp - 0x64c]
mov ebp, dword [esi + 0x638]
mov ecx, dword [esi + 0x48]
test ecx, ecx
je 0x101259b8
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x101259b8
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
add esp, 0x18
pop ebp
ret