Function at 0x10126380
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], 0x10127930
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.0x10126417
xor ebx, ebx
jmp dword [ecx*4 + 0x10126c90]
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.0x10126417.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 0x10126487
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 0x10126482
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__ldsign]
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__ldtest]
add esp, 4
cmp ax, 2
mov dword [esi + 0x78], ebx
jne 0x1012650f
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 0x1012655d
mov dword [esi + 0x14], edi
lea ecx, [esi + 0x638]
lea edi, [esi + 0xcf]
cmp ebx, 0xffffffff
je 0x10126662
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.10125b20
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 0x10126582
lea edx, [esi + 0xd0]
mov dword [esi + 0x54], edx
mov edi, dword [ebp + 0x18]
jmp 0x1012658f
cmp byte [esi + 0x18], 2
mov edi, dword [ebp + 0x18]
je 0x1012658f
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 0x101265de
cmp edx, eax
je 0x101265c4
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 0x101265b0
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 0x101265e1
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__ldtest]
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 0x1012663c
xor edx, edx
mov ebx, dword [esi + 0x18]
jmp 0x10126a16
mov word [esi + 0xa], ax
mov dh, byte [edi + 0xb]
mov dl, byte [edi + 0xc]
mov al, dh
or al, dl
jne 0x101266f1
mov dword [esi + 0x2c], 0
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x3c]
jmp 0x101268b1
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 0x101266a2
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 0x10126735
mov ecx, ebx
mov ebx, edx
and ebx, 0xfffff
mov dword [esi], ecx
or ecx, ebx
je 0x101267bd
test eax, eax
movsd xmm0, qword [ebp + 0x10]
jns 0x101267cf
xor ebx, 0x80000
or dword [esi], ebx
jne 0x101267cf
mov ebx, 8
mov dword [esi], str.nan_ind_
jmp 0x101267f1
mov byte [esi + 0x25], dl
mov dword [esi + 4], ebx
mov ebx, ecx
mov eax, ecx
cmp dword [esi + 0x14], ecx
jae 0x10126858
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 0x10126769
mov dword [esi + 0xc], ecx
mov ebx, ecx
add dword [esi + 0x38], ecx
je 0x10126842
jmp 0x101268bc
cmp byte [esi], 0
je 0x10126784
sub esp, 0x10
movq qword [esp + 8], xmm0
lea eax, [esi + 0x638]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.10125970
add esp, 0x10
movsd xmm0, qword [ebp + 0x10]
jmp 0x10126554
xor ebx, ebx
jmp case.0x10126417.66
mov eax, edi
movzx ebx, byte [edi]
cmp bl, 0x2e
jne 0x10126828
mov dword [esi + 0x1c], eax
mov dword [esi + 0xc], eax
mov ebx, dword [esi]
jmp 0x10126838
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.101193a0
add esp, 0x14
movsd xmm0, qword [ebp + 0x10]
jmp 0x10126554
mov ebx, 3
mov dword [esi], 0x101ed5cb
movsd xmm0, qword [ebp + 0x10]
jmp 0x101267f1
test edx, 0x80000
mov ecx, str.nan_snan_
mov eax, 0x101ece46
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 0x10126554
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 0x10126554
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 0x101268bc
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 0x10126887
cmp dword [esi + 0xc], ecx
jne 0x10126887
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 0x101268b1
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x1012690a
mov ecx, dword [eax + 4]
mov dword [esi + 0x48], ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esi + 0x648], 3
jmp 0x10126921
mov eax, dword [esi + 0x20]
dec eax
jmp dword [eax*4 + 0x10126d2c]
inc edi
jmp 0x101268d7
cmp al, byte [esi + 4]
cmove edx, edi
cmove ebx, edi
lea eax, [edi + 2]
inc edi
cmp edi, ecx
mov edi, eax
je 0x10126842
lea ecx, [edi - 1]
movzx eax, byte [edi - 1]
cmp al, 0x2e
jne 0x101268f0
mov dword [esi + 0x1c], ecx
mov dword [esi + 0xc], ecx
jmp 0x101268f9
cmp al, byte [esi + 4]
cmove edx, ecx
cmove ebx, ecx
movzx eax, byte [edi]
cmp al, 0x2e
mov ecx, dword [esi]
jne 0x101268c0
mov dword [esi + 0x1c], edi
mov dword [esi + 0xc], edi
jmp 0x101268c9
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.1011d790
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 0x10126990
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x10126990
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 0x101269a4
mov ecx, dword [esi + 0x60]
jmp 0x101269a7
lea ecx, [esi + 0x60]
xor edx, edx
test ebx, ebx
je 0x101269d3
sub eax, edi
movsx edi, byte [ecx]
cmp eax, edi
mov dword [esi + 0xc], ebx
jbe 0x101269d3
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 0x101269c0
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 + 0x10126d2c]
test edx, edx
je 0x10126a0c
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 0x10126a00
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 0x10126ada
lea ecx, [esi + 0x80]
push edx
push dword [ebp + 8]
call fcn.10123550
jmp 0x10126af1
lea eax, [esi + 0x80]
push eax
push 2
push edi
push ebx
push edx
push dword [ebp + 8]
call fcn.10123920
add esp, 0x18
mov eax, dword [esi + 0x74]
cmp eax, 0x10
mov ebx, dword [ebp + 8]
jb 0x10126b2c
mov ecx, dword [esi + 0x60]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x10126b22
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10126bf5
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10155aa0
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 0x10126c68
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x10126c68
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
add esp, 0x18
pop ebp
ret