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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x138
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
mov dword [esp + 0x78], 0
xor al, al
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov byte [esp + 0xb], al
nop
test al, al
jne 0x10025d39
mov eax, dword [esi + 0x28]
cmp eax, 0x10
ja case.0x10025a54.0
jmp dword [eax*4 + 0x10026584]
mov eax, dword [edi + 8]
sub eax, dword [edi + 4]
mov ecx, dword [edi + 0x5c]
sar eax, 2
mov byte [esp + 0x10], 0
mov dword [esp + 0x2c], eax
test ecx, ecx
je 0x1002657a
mov eax, dword [ecx]
mov edx, dword [eax + 8]
lea eax, [edi + 0x68]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x34]
push eax
call edx
mov byte [esp + 0xc], al
lea ecx, [edi + 0x10]
lea eax, [esp + 0xc]
push eax
call fcn.10023c00
push ecx
lea eax, [esp + 0x10]
mov byte [esp + 0x10], 1
push eax
lea eax, [esp + 0xf0]
mov ecx, edi
push eax
call fcn.1002a9c0
mov edx, dword [edi + 8]
lea ecx, [edi + 4]
cmp edx, dword [ecx + 8]
je 0x10025ad2
mov eax, dword [esp + 0xec]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x10025ae0
lea eax, [esp + 0xec]
push eax
push edx
call fcn.1002bbd0
lea ecx, [esi + 0x30]
call fcn.10023780
mov dword [esi + 0x28], eax
cmp eax, 0xb
jne 0x10025b04
mov ecx, edi
call fcn.10028530
test al, al
je 0x100262ce
jmp 0x10025d3e
cmp eax, 4
jne 0x10026004
lea eax, [esi + 0x5c]
mov ecx, edi
push eax
call fcn.100287b0
test al, al
je 0x100262ce
lea ecx, [esi + 0x30]
call fcn.10023780
mov dword [esi + 0x28], eax
cmp eax, 0xc
jne 0x10025f59
lea eax, [esp + 0xc]
mov byte [esp + 0xc], 0
push eax
lea ecx, [esp + 0x7c]
call fcn.10023c00
lea ecx, [esi + 0x30]
call fcn.10023780
mov dword [esi + 0x28], eax
mov al, byte [esp + 0xb]
jmp 0x10025a40
mov eax, dword [edi + 8]
sub eax, dword [edi + 4]
mov ecx, dword [edi + 0x5c]
sar eax, 2
mov byte [esp + 0xc], 2
mov dword [esp + 0x2c], eax
test ecx, ecx
je 0x1002657a
mov eax, dword [ecx]
mov edx, dword [eax + 8]
lea eax, [edi + 0x68]
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
push eax
call edx
mov byte [esp + 0x10], al
lea ecx, [edi + 0x10]
lea eax, [esp + 0x10]
push eax
call fcn.10023c00
push ecx
lea eax, [esp + 0x14]
mov byte [esp + 0x14], 2
push eax
lea eax, [esp + 0xf8]
mov ecx, edi
push eax
call fcn.1002a9c0
mov edx, dword [edi + 8]
lea ecx, [edi + 4]
cmp edx, dword [ecx + 8]
je 0x10025bd2
mov eax, dword [esp + 0xf4]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x10025be0
lea eax, [esp + 0xf4]
push eax
push edx
call fcn.1002bbd0
lea ecx, [esi + 0x30]
call fcn.10023780
mov dword [esi + 0x28], eax
cmp eax, 0xa
jne 0x10025c04
mov ecx, edi
call fcn.10028400
test al, al
je 0x100262ce
jmp 0x10025d3e
lea eax, [esp + 0xc]
mov byte [esp + 0xc], 1
push eax
lea ecx, [esp + 0x7c]
call fcn.10023c00
mov al, byte [esp + 0xb]
jmp 0x10025a40
movss xmm0, dword [esi + 0x88]
movss dword [esp + 0x2c], xmm0
fld dword [esp + 0x2c]
push ecx
fstp dword [esp]
call fcn.10127fcd
add esp, 4
test ax, ax
jg 0x1002609c
movss xmm0, dword [esi + 0x88]
lea eax, [esp + 0x2c]
push ecx
push eax
lea eax, [esp + 0x110]
movss dword [esp + 0x34], xmm0
push eax
mov ecx, edi
call fcn.1002aea0
jmp 0x10025d3e
push ecx
lea eax, [esp + 0x10]
mov byte [esp + 0x10], 0
push eax
lea eax, [esp + 0x118]
mov ecx, edi
push eax
call fcn.1002b660
jmp 0x10025d3e
sub esp, 8
lea eax, [esp + 0x120]
mov ecx, edi
push eax
call fcn.1002b900
jmp 0x10025d3e
push ecx
lea eax, [esp + 0x10]
mov byte [esp + 0x10], 1
push eax
lea eax, [esp + 0x128]
mov ecx, edi
push eax
call fcn.1002b660
jmp 0x10025d3e
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
mov dword [esp + 0xf8], eax
lea eax, [esp + 0xf8]
push ecx
push eax
lea eax, [esp + 0x130]
mov dword [esp + 0x104], ecx
push eax
mov ecx, edi
call fcn.1002b3d0
jmp 0x10025d3e
push ecx
lea eax, [esi + 0x5c]
mov ecx, edi
push eax
lea eax, [esp + 0x138]
push eax
call fcn.1002ac00
jmp 0x10025d3e
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x84]
mov dword [esp + 0x100], eax
lea eax, [esp + 0x100]
push ecx
push eax
lea eax, [esp + 0x140]
mov dword [esp + 0x10c], ecx
push eax
mov ecx, edi
call fcn.1002b140
jmp 0x10025d3e
mov byte [esp + 0xb], 0
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x10026556
mov eax, dword [esp + 0x78]
push ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], 0
call fcn.100253c0
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xc4], ecx
lea ecx, [esp + 0xc0]
push 0xffffffffffffffff
mov dword [esp + 0xc4], eax
call fcn.100253c0
mov eax, dword [esp + 0xc0]
mov edx, 1
mov ecx, dword [esp + 0xc4]
shl edx, cl
lea ecx, [esi + 0x30]
test dword [eax], edx
je 0x10025e6c
call fcn.10023780
mov dword [esi + 0x28], eax
cmp eax, 0xd
jne 0x10025ddb
lea ecx, [esi + 0x30]
call fcn.10023780
mov dword [esi + 0x28], eax
mov al, byte [esp + 0xb]
jmp 0x10025a40
cmp eax, 0xa
jne 0x100262e8
mov ecx, edi
call fcn.10028400
test al, al
je 0x100262ce
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0xc8]
push dword [esp + 0x84]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 0
call fcn.100253c0
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xd4], ecx
lea ecx, [esp + 0xd0]
push 0xffffffffffffffff
mov dword [esp + 0xd4], eax
call fcn.100253c0
push dword [esp + 0xd4]
lea eax, [esp + 0x44]
push dword [esp + 0xd4]
lea ecx, [esp + 0x80]
push eax
call fcn.10029130
mov al, 1
jmp 0x10025a3b
call fcn.10023780
mov dword [esi + 0x28], eax
cmp eax, 0xd
jne 0x10025ec8
lea ecx, [esi + 0x30]
call fcn.10023780
mov dword [esi + 0x28], eax
cmp eax, 4
jne 0x10026454
lea eax, [esi + 0x5c]
mov ecx, edi
push eax
call fcn.100287b0
test al, al
je 0x100262ce
lea ecx, [esi + 0x30]
call fcn.10023780
mov dword [esi + 0x28], eax
cmp eax, 0xc
jne 0x100263d3
lea ecx, [esi + 0x30]
call fcn.10023780
mov dword [esi + 0x28], eax
mov al, byte [esp + 0xb]
jmp 0x10025a40
cmp eax, 0xb
jne 0x100264d5
mov ecx, edi
call fcn.10028530
test al, al
je 0x100262ce
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0xd8]
push dword [esp + 0x84]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], 0
call fcn.100253c0
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xe4], ecx
lea ecx, [esp + 0xe0]
push 0xffffffffffffffff
mov dword [esp + 0xe4], eax
call fcn.100253c0
push dword [esp + 0xe4]
lea eax, [esp + 0x34]
push dword [esp + 0xe4]
lea ecx, [esp + 0x80]
push eax
call fcn.10029130
mov al, 1
jmp 0x10025a3b
push 0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x44], 0
call fcn.1001d4e0
push 0x10
push str.object_separator
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
call fcn.1001bfe0
lea eax, [esp + 0x14]
mov ecx, esi
push eax
push 0xc
lea eax, [esp + 0xa8]
push eax
call fcn.10022d10
mov ecx, dword [esi + 0x4c]
mov edx, 0x65
movq xmm0, qword [esi + 0x44]
push ecx
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x40], ecx
push eax
lea ecx, [esp + 0x6c]
movq qword [esp + 0x3c], xmm0
call fcn.100265d0
lea eax, [esp + 0x88]
push eax
lea ecx, [esi + 0x30]
call fcn.10023220
cmp byte [edi + 0x60], 0
mov byte [edi + 0x34], 1
jne 0x10026570
lea ecx, [esp + 0x88]
call fcn.10002030
lea ecx, [esp + 0xa0]
jmp 0x100262a3
push 0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x44], 0
call fcn.1001d4e0
push 0xa
push str.object_key
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
call fcn.1001bfe0
lea eax, [esp + 0x14]
mov ecx, esi
push eax
push 4
lea eax, [esp + 0x90]
push eax
call fcn.10022d10
mov ecx, dword [esi + 0x4c]
mov edx, 0x65
movq xmm0, qword [esi + 0x44]
push ecx
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x40], ecx
push eax
lea ecx, [esp + 0x6c]
movq qword [esp + 0x3c], xmm0
call fcn.100265d0
lea eax, [esp + 0xa0]
push eax
lea ecx, [esi + 0x30]
call fcn.10023220
cmp byte [edi + 0x60], 0
mov byte [edi + 0x34], 1
jne 0x10026575
jmp 0x10026290
push 0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x34], 0
call fcn.1001d4e0
lea eax, [esp + 0x60]
push eax
lea ecx, [esi + 0x30]
call fcn.10023220
push eax
mov edx, str.number_overflow_parsing_
lea ecx, [esp + 0x8c]
call fcn.1001e7f0
push 0x10156060
mov ecx, eax
call fcn.10019dd0
push ecx
mov edx, 0x196
lea ecx, [esp + 0x18]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x44], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x44]
push eax
movq qword [esp + 0x58], xmm0
call fcn.10029c00
lea eax, [esp + 0xa0]
push eax
lea ecx, [esi + 0x30]
call fcn.10023220
cmp byte [edi + 0x60], 0
mov byte [edi + 0x34], 1
jne 0x1002657f
lea ecx, [esp + 0xa0]
call fcn.10002030
lea ecx, [esp + 0x40]
mov dword [esp + 0x20], 0x101571d8
mov dword [esp + 0x14], 0x101571d8
call fcn.10002030
lea ecx, [esp + 0x88]
call fcn.10002030
lea ecx, [esp + 0x60]
call fcn.10002030
push dword [esp + 0x30]
lea ecx, [esp + 0x3c]
call fcn.1001b820
lea ecx, [esp + 0x78]
mov byte [esp + 0xb], 0
call fcn.10022cb0
mov al, byte [esp + 0xb]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x44], 0
call fcn.1001d4e0
push 5
push str.value
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
call fcn.1001bfe0
lea eax, [esp + 0x14]
mov ecx, esi
push eax
push 0
lea eax, [esp + 0x90]
push eax
call fcn.10022d10
mov ecx, dword [esi + 0x4c]
mov edx, 0x65
movq xmm0, qword [esi + 0x44]
push ecx
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x40], ecx
push eax
lea ecx, [esp + 0x6c]
movq qword [esp + 0x3c], xmm0
call fcn.100265d0
lea eax, [esp + 0xa0]
jmp 0x10026080
push 0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x44], 0
call fcn.1001d4e0
push 5
push str.value
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
call fcn.1001bfe0
lea eax, [esp + 0x14]
mov ecx, esi
push eax
push 0x10
lea eax, [esp + 0x90]
push eax
call fcn.10022d10
mov ecx, dword [esi + 0x4c]
mov edx, 0x65
movq xmm0, qword [esi + 0x44]
push ecx
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x40], ecx
push eax
lea ecx, [esp + 0x6c]
movq qword [esp + 0x3c], xmm0
call fcn.100265d0
lea eax, [esp + 0xa0]
jmp 0x10026080
lea ecx, [esp + 0xa0]
call fcn.10002030
lea ecx, [esp + 0x88]
mov dword [esp + 0x6c], method.std::runtime_error.virtual_0
mov dword [esp + 0x60], 0x101571d8
call fcn.10002030
lea ecx, [esp + 0x14]
call fcn.10002030
push dword [esp + 0x40]
lea ecx, [esp + 0x4c]
call fcn.1001b820
lea ecx, [esp + 0x78]
mov byte [esp + 0xb], 0
call fcn.10022cb0
mov al, byte [esp + 0xb]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x44], 0
call fcn.1001d4e0
push 5
push str.array
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
call fcn.1001bfe0
lea eax, [esp + 0x14]
mov ecx, esi
push eax
push 0xa
lea eax, [esp + 0x90]
push eax
call fcn.10022d10
mov ecx, dword [esi + 0x4c]
mov edx, 0x65
movq xmm0, qword [esi + 0x44]
push ecx
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x40], ecx
push eax
lea ecx, [esp + 0x6c]
movq qword [esp + 0x3c], xmm0
call fcn.100265d0
lea eax, [esp + 0xa0]
push eax
lea ecx, [esi + 0x30]
call fcn.10023220
cmp byte [edi + 0x60], 0
mov byte [edi + 0x34], 1
jne 0x10026575
lea ecx, [esp + 0xa0]
mov byte [esp + 0xb], 0
call fcn.10002030
lea ecx, [esp + 0x88]
mov dword [esp + 0x6c], 0x101571d8
mov dword [esp + 0x60], 0x101571d8
call fcn.10002030
lea ecx, [esp + 0x14]
call fcn.10002030
push dword [esp + 0x40]
lea ecx, [esp + 0x4c]
call fcn.1001b820
lea ecx, [esp + 0x78]
call fcn.10022cb0
mov al, byte [esp + 0xb]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x44], 0
call fcn.1001d4e0
push 0x10
push str.object_separator
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
call fcn.1001bfe0
lea eax, [esp + 0x14]
mov ecx, esi
push eax
push 0xc
lea eax, [esp + 0x90]
push eax
call fcn.10022d10
mov ecx, dword [esi + 0x4c]
mov edx, 0x65
movq xmm0, qword [esi + 0x44]
push ecx
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x40], ecx
push eax
lea ecx, [esp + 0x6c]
movq qword [esp + 0x3c], xmm0
call fcn.100265d0
lea eax, [esp + 0xa0]
jmp 0x10026364
push 0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x44], 0
call fcn.1001d4e0
push 0xa
push str.object_key
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
call fcn.1001bfe0
lea eax, [esp + 0x14]
mov ecx, esi
push eax
push 4
lea eax, [esp + 0x90]
push eax
call fcn.10022d10
mov ecx, dword [esi + 0x4c]
mov edx, 0x65
movq xmm0, qword [esi + 0x44]
push ecx
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x40], ecx
push eax
lea ecx, [esp + 0x6c]
movq qword [esp + 0x3c], xmm0
call fcn.100265d0
lea eax, [esp + 0xa0]
jmp 0x10026364
push 0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x44], 0
call fcn.1001d4e0
push 6
push str.object
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xf
call fcn.1001bfe0
lea eax, [esp + 0x14]
mov ecx, esi
push eax
push 0xb
lea eax, [esp + 0x90]
push eax
call fcn.10022d10
mov ecx, dword [esi + 0x4c]
mov edx, 0x65
movq xmm0, qword [esi + 0x44]
push ecx
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x40], ecx
push eax
lea ecx, [esp + 0x6c]
movq qword [esp + 0x3c], xmm0
call fcn.100265d0
lea eax, [esp + 0xa0]
jmp 0x10026364
lea ecx, [esp + 0x78]
mov byte [esp + 0xb], 1
call fcn.10022cb0
mov al, byte [esp + 0xb]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
call fcn.10120d3f
call fcn.10120d3f
call fcn.1011a7c1
call fcn.10120d3f
punpckldq mm0, dword [edx]
adc byte [ebp + 1863320156], ah
pop esp
add dl, byte [eax]
mov ds, word [edx + eax + 0x10]
out dx, eax
pop esp
add dl, byte [eax]
add eax, 0xc110025d
pop esp
add dl, byte [eax]
and byte [edx + eax + 0x10], bl
pop ebx
pop ebx
add dl, byte [eax]
pop ebx
pop edx
add dl, byte [eax]
punpckldq mm0, dword [edx]
adc byte [edi], cl
bound eax, qword [edx]
adc byte [edi], cl
bound eax, qword [edx]
adc byte [edi], cl
bound eax, qword [edx]
adc byte [esi + 0xf100261], cl
bound eax, qword [edx]
adc byte [edi], cl
bound eax, qword [edx]
adc ah, cl
int3