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

Disassembly:
sub esp, 0x208
mov byte [0x10210574], 0
mov dword [0x10210578], 0
push ebx
push ebp
push esi
mov esi, dword [0x102454e4]
mov ebx, ecx
push edi
mov edi, dword [0x102454e8]
cmp esi, edi
je 0x1001d82a
nop dword [eax]
mov ecx, esi
call fcn.1001e240
add esi, 0x24
cmp esi, edi
jne 0x1001d810
mov esi, dword [0x102454e4]
mov dword [0x102454e8], esi
mov eax, dword [esp + 0x21c]
mov byte [esp + 0xb8], 0
and dword [esp + 0xb8], 0xfffffeff
mov dword [esp + 0xbc], 0
lea ecx, [eax + eax*2]
mov dword [esp + 0xc0], 0
mov eax, dword [ebx + 0x18]
lea esi, [eax + ecx*8]
mov dword [esp + 0xc4], 0
cmp dword [esi + 0x14], 0xf
jbe 0x1001d876
mov esi, dword [esi]
lea eax, [esp + 0x20]
mov ecx, ebx
push eax
call fcn.10019ca0
mov ecx, eax
mov ebx, dword [ecx + 0x14]
mov eax, ebx
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 1
jb 0x1001d8b1
lea eax, [edx + 1]
mov edi, ecx
mov dword [ecx + 0x10], eax
cmp ebx, 0xf
jbe 0x1001d8a2
mov edi, dword [ecx]
mov al, byte [0x101e8010]
mov byte [edi + edx], al
mov byte [edi + edx + 1], 0
jmp 0x1001d8c5
push 1
push 0x101e8010
push dword [esp + 0x24]
push 1
call fcn.10004290
mov ecx, eax
mov dword [esp + 0x58], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x5c], 0
movups xmm0, xmmword [ecx]
push esi
movups xmmword [esp + 0x4c], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [esp + 0x5c], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
lea ecx, [esp + 0x4c]
call fcn.10003e10
mov dword [esp + 0xa8], 0
lea ecx, [esp + 0xc8]
mov dword [esp + 0xac], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x98], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x98], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0xa8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x98]
cmp dword [esp + 0xac], 0xf
cmova eax, dword [esp + 0x98]
sub esp, 0xc
push eax
call fcn.10020800
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xc8], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [esp + ecx + 0xc4], eax
mov ecx, dword [esp + 0xac]
cmp ecx, 0xf
jbe 0x1001d9e2
mov edx, dword [esp + 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001d9d8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001da6f
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0xf
mov byte [esp + 0x98], 0
cmp ecx, 0xf
jbe 0x1001da32
mov edx, dword [esp + 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001da28
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001da6f
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0xf
mov byte [esp + 0x48], 0
cmp ecx, 0xf
jbe 0x1001da7f
mov edx, dword [esp + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001da75
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1001da75
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10177006
add esp, 8
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
mov eax, dword [esp + eax + 0xd4]
test al, 6
jne 0x1001e13d
test eax, eax
jne 0x1001e13d
lea ecx, [esp + 0xc8]
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::basic_istream_char__struct_std::char_traits_char__::peek_void_]
cmp eax, 0xffffffff
je 0x1001e13d
mov byte [esp + 0x30], 0
lea ecx, [esp + 0x28]
and dword [esp + 0x30], 0xfffffeff
mov dword [esp + 0x20], vtable.Json::CharReaderBuilder.0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
call fcn.100c2910
lea eax, [esp + 0x48]
mov dword [esp + 0x58], 0
push eax
xorps xmm0, xmm0
mov dword [esp + 0x60], 0xf
lea eax, [esp + 0xb4]
movups xmmword [esp + 0x4c], xmm0
push eax
lea edx, [esp + 0xd0]
mov byte [esp + 0x50], 0
lea ecx, [esp + 0x28]
call fcn.100c3020
add esp, 8
test al, al
je 0x1001e1ae
mov ecx, dword [esp + 0x5c]
cmp ecx, 0xf
jbe 0x1001db69
mov edx, dword [esp + 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001db5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1001db5f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10177006
add esp, 8
lea ecx, [esp + 0x28]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0xf
mov byte [esp + 0x48], 0
mov dword [esp + 0x20], vtable.Json::CharReaderBuilder.0
call fcn.100c3f70
mov esi, dword [esp + 0x34]
mov dword [esp + 0x28], 0
test esi, esi
je 0x1001dbb1
mov ecx, esi
call fcn.10025240
push 0x48
push esi
call fcn.10177006
add esp, 8
push 0x101e800c
push str.main
lea ecx, [esp + 0xb8]
call fcn.100c3fd0
mov esi, eax
xor ebp, ebp
push 0x1019ac0f
push str.records
mov ecx, esi
mov dword [esp + 0x24], ebp
call fcn.100c41b0
test eax, eax
je 0x1001dc02
push 0x1019ac0f
push str.records
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c37a0
mov ebp, eax
mov dword [esp + 0x1c], eax
xor ebx, ebx
mov dword [esp + 0x18], ebx
test ebp, ebp
je 0x1001e13d
xorps xmm0, xmm0
mov dword [esp + 0x30], 0
push 0x101e8027
xor edi, edi
mov dword [esp + 0x38], 0xf
movups xmmword [esp + 0x24], xmm0
push str.globals
lea ecx, [esp + 0xb8]
mov byte [esp + 0x28], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call fcn.100c3fd0
push ebx
mov ecx, eax
call fcn.100c3be0
mov esi, eax
push 0x101e801d
push str.routename
mov ecx, esi
call fcn.100c41b0
test eax, eax
je 0x1001dcbf
push 0x101e801d
push str.routename
mov ecx, esi
call fcn.100c3fd0
mov ecx, dword [eax + 8]
cmp cl, 4
jne 0x1001e18a
mov edx, dword [eax]
test edx, edx
je 0x1001dca2
shr ecx, 8
test cl, 1
je 0x1001dca2
add edx, 4
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001dca7
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x28]
call fcn.1000be40
mov edi, dword [esp + 0x3c]
push 0x101e803a
xor ebp, ebp
mov ecx, esi
push str.framecount
mov dword [esp + 0x9c], ebp
call fcn.100c41b0
test eax, eax
je 0x1001dcfe
push 0x101e803a
push str.framecount
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c37a0
mov ebp, eax
mov dword [esp + 0x94], eax
xor ebx, ebx
test ebp, ebp
je 0x1001e0b5
nop dword [eax + eax]
push 0x101e802d
push str.frame
lea ecx, [esp + 0xb8]
call fcn.100c3fd0
push dword [esp + 0x18]
mov ecx, eax
call fcn.100c3be0
push ebx
mov ecx, eax
call fcn.100c3be0
xorps xmm0, xmm0
mov esi, eax
push 0x101e8052
push str.viewanglex
mov ecx, esi
movss dword [esp + 0x7c], xmm0
movss dword [esp + 0x78], xmm0
movss dword [esp + 0x98], xmm0
movss dword [esp + 0x94], xmm0
movss dword [esp + 0x90], xmm0
call fcn.100c41b0
test eax, eax
je 0x1001dd98
push 0x101e8052
push str.viewanglex
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c3a30
movss dword [esp + 0x70], xmm0
push 0x101e8046
push str.viewangley
mov ecx, esi
call fcn.100c41b0
test eax, eax
je 0x1001ddcb
push 0x101e8046
push str.viewangley
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c3a30
movss dword [esp + 0x74], xmm0
push 0x101e806b
push str.forwardmove
mov ecx, esi
call fcn.100c41b0
test eax, eax
je 0x1001ddfa
push 0x101e806b
push str.forwardmove
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c3a30
jmp 0x1001de03
movss xmm0, dword [esp + 0x1a4]
push 0x101e805c
push str.sidemove
mov ecx, esi
movss dword [esp + 0x80], xmm0
call fcn.100c41b0
test eax, eax
je 0x1001de3b
push 0x101e805c
push str.sidemove
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c3a30
jmp 0x1001de44
movss xmm0, dword [esp + 0x1a8]
push 0x101e807a
push str.upmove
mov ecx, esi
movss dword [esp + 0x84], xmm0
call fcn.100c41b0
test eax, eax
je 0x1001de7c
push 0x101e807a
push str.upmove
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c3a30
jmp 0x1001de85
movss xmm0, dword [esp + 0x1ac]
push 0x101e8073
push str.buttons
mov ecx, esi
movss dword [esp + 0x88], xmm0
call fcn.100c41b0
test eax, eax
je 0x1001debd
push 0x101e8073
push str.buttons
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c37a0
jmp 0x1001dec4
mov eax, dword [esp + 0x1b0]
push 0x101e808b
push str.mousedx
mov ecx, esi
mov dword [esp + 0x8c], eax
call fcn.100c41b0
test eax, eax
je 0x1001defa
push 0x101e808b
push str.mousedx
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c37a0
jmp 0x1001df02
mov ax, word [esp + 0x1c4]
push 0x101e8083
push str.mousedy
mov ecx, esi
mov word [esp + 0x1e], ax
call fcn.100c41b0
test eax, eax
je 0x1001df39
push 0x101e8083
push str.mousedy
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c37a0
mov bp, ax
jmp 0x1001df41
mov bp, word [esp + 0x1c6]
push 0x101e8098
push str.posx
mov ecx, esi
call fcn.100c41b0
test eax, eax
je 0x1001df77
push 0x101e8098
push str.posx
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c3a30
movss dword [esp + 0x88], xmm0
push 0x101e8090
push str.posy
mov ecx, esi
call fcn.100c41b0
test eax, eax
je 0x1001dfad
push 0x101e8090
push str.posy
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c3a30
movss dword [esp + 0x8c], xmm0
push 0x101e80a0
push str.posz
mov ecx, esi
call fcn.100c41b0
test eax, eax
je 0x1001dfe3
push 0x101e80a0
push str.posz
mov ecx, esi
call fcn.100c3fd0
mov ecx, eax
call fcn.100c3a30
movss dword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0x70]
mov eax, dword [esp + 0x84]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x74]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0x78]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0x80]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x88]
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0x8c]
mov dword [esp + 0x5c], eax
mov ax, word [esp + 0x16]
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x90]
mov word [esp + 0x60], ax
mov word [esp + 0x62], bp
movss dword [esp + 0x6c], xmm0
cmp edi, dword [esp + 0x40]
je 0x1001e094
movups xmm0, xmmword [esp + 0x48]
movups xmmword [edi], xmm0
movups xmm0, xmmword [esp + 0x58]
movups xmmword [edi + 0x10], xmm0
movq xmm0, qword [esp + 0x68]
movq qword [edi + 0x20], xmm0
add edi, 0x28
mov dword [esp + 0x3c], edi
jmp 0x1001e0a7
lea eax, [esp + 0x48]
push eax
push edi
lea ecx, [esp + 0x40]
call fcn.10021fe0
mov edi, dword [esp + 0x3c]
inc ebx
cmp ebx, dword [esp + 0x94]
jb 0x1001dd10
mov esi, dword [0x102454e8]
lea eax, [esp + 0x20]
push eax
cmp esi, dword [0x102454ec]
je 0x1001e0e5
mov ecx, esi
call fcn.10010d30
lea eax, [esp + 0x38]
push eax
lea ecx, [esi + 0x18]
call fcn.10020250
add dword [0x102454e8], 0x24
jmp 0x1001e0eb
push esi
call fcn.10021d80
lea ecx, [esp + 0x38]
call fcn.100208c0
mov ecx, dword [esp + 0x34]
cmp ecx, 0xf
jbe 0x1001e12a
mov edx, dword [esp + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001e120
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001da6f
push ecx
push edx
call fcn.10177006
add esp, 8
mov ebx, dword [esp + 0x18]
inc ebx
mov dword [esp + 0x18], ebx
cmp ebx, dword [esp + 0x1c]
jb 0x1001dc10
lea ecx, [esp + 0xc8]
call fcn.1001e1c0
lea ecx, [esp + 0xb0]
call fcn.100c3f70
mov esi, dword [esp + 0xbc]
mov dword [esp + 0xb0], 0
test esi, esi
je 0x1001e17d
mov ecx, esi
call fcn.10025240
push 0x48
push esi
call fcn.10177006
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 4
push ecx
lea ecx, [esp + 0x184]
call fcn.1005ccc0
mov edx, str.in_Json::Value::asCString__:_requires_stringValue
lea ecx, [esp + 0x180]
call fcn.10011340
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
int3