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

Disassembly:
jmp 0x10018210
sub esp, 0x9c
mov eax, dword [0x100e8038]
xor eax, esp
mov dword [esp + 0x98], eax
push ebx
push ebp
push esi
xor ebx, ebx
mov dword [esp + 0x2c], 0
push edi
mov edi, dword [esp + 0xb0]
mov esi, ecx
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], ebx
nop
mov eax, dword [esi + 0x28]
cmp eax, 0x10
ja case.0x1001825c.0
jmp dword [eax*4 + 0x10018b98]
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 1
push eax
mov ecx, edi
call fcn.100048b8
mov dword [esp + 0x14], eax
lea ecx, [edi + 4]
lea eax, [esp + 0x14]
push eax
call fcn.10003ad5
lea ecx, [esi + 0x30]
call fcn.100057a4
mov dword [esi + 0x28], eax
cmp eax, 0xb
jne 0x100182a1
mov ecx, edi
call fcn.10005254
jmp 0x1001847b
cmp eax, 4
jne 0x10018643
lea eax, [esi + 0x5c]
mov ecx, edi
push eax
call fcn.100035bc
test al, al
je 0x10018b49
lea ecx, [esi + 0x30]
call fcn.100057a4
mov dword [esi + 0x28], eax
cmp eax, 0xc
jne 0x1001854e
mov edx, dword [esp + 0x30]
xor ecx, ecx
mov byte [esp + 0x13], 0
mov dword [esp + 0x14], edx
test ebx, ebx
jns 0x10018300
mov eax, ebx
neg eax
cmp ecx, eax
jae 0x10018300
add ebx, ecx
mov eax, ebx
not eax
shr eax, 5
lea eax, [eax*4 + 4]
sub edx, eax
jmp 0x1001830e
mov eax, dword [esp + 0x30]
add ebx, ecx
mov ecx, ebx
shr ecx, 5
lea edx, [eax + ecx*4]
lea eax, [esp + 0x13]
and ebx, 0x1f
push eax
push 1
push ebx
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x44]
call fcn.10005367
lea ecx, [esi + 0x30]
call fcn.100057a4
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x28], eax
jmp 0x10018250
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 2
push eax
mov ecx, edi
call fcn.100048b8
mov dword [esp + 0x14], eax
lea ecx, [edi + 4]
lea eax, [esp + 0x14]
push eax
call fcn.10003ad5
lea ecx, [esi + 0x30]
call fcn.100057a4
mov dword [esi + 0x28], eax
cmp eax, 0xa
jne 0x1001837a
mov ecx, edi
call fcn.1000241e
jmp 0x1001847b
mov edx, dword [esp + 0x30]
xor ecx, ecx
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], edx
test ebx, ebx
jns 0x100183a9
mov eax, ebx
neg eax
cmp ecx, eax
jae 0x100183a9
add ebx, ecx
mov eax, ebx
not eax
shr eax, 5
lea eax, [eax*4 + 4]
sub edx, eax
jmp 0x100183b7
mov eax, dword [esp + 0x30]
add ebx, ecx
mov ecx, ebx
shr ecx, 5
lea edx, [eax + ecx*4]
lea eax, [esp + 0x13]
and ebx, 0x1f
push eax
push 1
push ebx
push edx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x44]
call fcn.10005367
mov ebx, dword [esp + 0x3c]
jmp 0x10018250
movsd xmm0, qword [esi + 0x88]
sub esp, 8
movsd qword [esp + 0x1c], xmm0
fld qword [esp + 0x1c]
fstp qword [esp]
call fcn.1000692e
add esp, 8
test ax, ax
jg 0x100186db
movsd xmm0, qword [esi + 0x88]
lea eax, [esi + 0x5c]
push eax
sub esp, 8
mov ecx, edi
movsd qword [esp], xmm0
call fcn.100056b4
jmp 0x1001847b
push 0
mov ecx, edi
call fcn.10002e2d
jmp 0x1001847b
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
mov ecx, edi
call fcn.10005efc
jmp 0x10018483
push 1
mov ecx, edi
call fcn.10002e2d
jmp 0x1001847b
push dword [esi + 0x7c]
mov ecx, edi
push dword [esi + 0x78]
call fcn.10005272
jmp 0x1001847b
lea eax, [esi + 0x5c]
mov ecx, edi
push eax
call fcn.100026ad
jmp 0x10018483
push dword [esi + 0x84]
mov ecx, edi
push dword [esi + 0x80]
call fcn.1000341d
test al, al
je 0x10018b49
test ebx, ebx
je 0x100189e8
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x34]
call fcn.10001ebf
mov edx, 1
mov ecx, dword [eax + 4]
mov eax, dword [eax]
shl edx, cl
lea ecx, [esi + 0x30]
test dword [eax], edx
je 0x100184cf
call fcn.100057a4
mov dword [esi + 0x28], eax
cmp eax, 0xd
je 0x1001853e
cmp eax, 0xa
jne 0x1001876e
mov ecx, edi
call fcn.1000241e
jmp 0x100184ec
call fcn.100057a4
mov dword [esi + 0x28], eax
cmp eax, 0xd
je 0x10018503
cmp eax, 0xb
jne 0x1001886b
mov ecx, edi
call fcn.10005254
test al, al
je 0x10018b49
lea ecx, [esp + 0x30]
call fcn.10001b90
mov ebx, dword [esp + 0x3c]
jmp 0x10018483
lea ecx, [esi + 0x30]
call fcn.100057a4
mov dword [esi + 0x28], eax
cmp eax, 4
jne 0x10018967
lea eax, [esi + 0x5c]
mov ecx, edi
push eax
call fcn.100035bc
test al, al
je 0x10018b49
lea ecx, [esi + 0x30]
call fcn.100057a4
mov dword [esi + 0x28], eax
cmp eax, 0xc
jne 0x100188e7
lea ecx, [esi + 0x30]
call fcn.100057a4
mov dword [esi + 0x28], eax
jmp 0x10018250
xorps xmm0, xmm0
lea ecx, [esp + 0x48]
push 0x20
movups xmmword [esp + 0x4c], xmm0
call fcn.100015cd
movups xmm0, xmmword [str.object_separator]
mov dword [esp + 0x48], eax
mov ecx, esi
mov dword [esp + 0x58], 0x10
movups xmmword [eax], xmm0
mov byte [eax + 0x10], 0
lea eax, [esp + 0x48]
push eax
push 0xc
lea eax, [esp + 0x98]
mov dword [esp + 0x64], 0x1f
push eax
call fcn.100011a9
movq xmm0, qword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
push 0
push eax
lea eax, [esp + 0x2c]
movq qword [esp + 0x2c], xmm0
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], ecx
push 0x65
push eax
call fcn.100015af
add esp, 0x14
lea eax, [esp + 0x78]
lea ecx, [esi + 0x30]
push eax
call fcn.10005c45
cmp byte [edi + 0x15], 0
mov byte [edi + 0x14], 1
jne 0x10018b84
lea ecx, [esp + 0x78]
call fcn.10003bbb
lea ecx, [esp + 0x90]
mov dword [esp + 0x6c], 0x100cbe90
mov dword [esp + 0x60], 0x100cbe90
call fcn.10003bbb
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x10018b49
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
cmp eax, 0x1000
jb 0x10018b3f
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1000420f
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
jmp 0x10018b3c
mov ax, word [0x100ce9e8]
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
mov ecx, esi
mov word [esp + 0x50], ax
movq xmm0, qword [str.object_key]
lea eax, [esp + 0x48]
push eax
push 4
lea eax, [esp + 0x80]
mov dword [esp + 0x60], 0xa
push eax
mov dword [esp + 0x68], 0xf
movq qword [esp + 0x54], xmm0
mov byte [esp + 0x5e], 0
call fcn.100011a9
movq xmm0, qword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
push 0
push eax
lea eax, [esp + 0x2c]
movq qword [esp + 0x2c], xmm0
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], ecx
push 0x65
push eax
call fcn.100015af
add esp, 0x14
lea eax, [esp + 0x90]
push eax
lea ecx, [esi + 0x30]
call fcn.10005c45
cmp byte [edi + 0x15], 0
mov byte [edi + 0x14], 1
jne 0x10018b89
jmp 0x10018ae3
push 0
lea eax, [esp + 0x17]
mov byte [esp + 0x17], 0x27
push eax
lea eax, [esp + 0x68]
push eax
lea ecx, [esi + 0x30]
call fcn.10005c45
push eax
lea eax, [esp + 0x84]
push str.number_overflow_parsing_
push eax
call fcn.1000139d
add esp, 0x10
push eax
lea eax, [esp + 0x50]
push 0x196
push eax
call fcn.10006b27
add esp, 0x10
lea eax, [esp + 0x90]
lea ecx, [esi + 0x30]
push eax
call fcn.10005c45
cmp byte [edi + 0x15], 0
mov byte [edi + 0x14], 1
jne 0x10018b8e
lea ecx, [esp + 0x90]
call fcn.10003bbb
lea ecx, [esp + 0x78]
mov dword [esp + 0x54], 0x100cbe90
mov dword [esp + 0x48], 0x100cbe90
call fcn.10003bbb
lea ecx, [esp + 0x60]
call fcn.10003bbb
jmp 0x10018b49
mov eax, dword [str.array]
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x48], eax
mov ecx, esi
mov al, byte [0x100cea28]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x48]
push eax
push 0xa
lea eax, [esp + 0x80]
mov dword [esp + 0x60], 5
push eax
mov dword [esp + 0x68], 0xf
mov byte [esp + 0x59], 0
call fcn.100011a9
movq xmm0, qword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
push 0
push eax
lea eax, [esp + 0x2c]
movq qword [esp + 0x2c], xmm0
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], ecx
push 0x65
push eax
call fcn.100015af
add esp, 0x14
lea eax, [esp + 0x90]
push eax
lea ecx, [esi + 0x30]
call fcn.10005c45
cmp byte [edi + 0x15], 0
mov byte [edi + 0x14], 1
jne 0x10018b93
lea ecx, [esp + 0x90]
xor bl, bl
call fcn.10003bbb
lea ecx, [esp + 0x78]
mov dword [esp + 0x6c], 0x100cbe90
mov dword [esp + 0x60], 0x100cbe90
call fcn.10003bbb
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x10018b4b
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
cmp eax, 0x1000
jb 0x1001885c
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1000420f
mov eax, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.10001a78
add esp, 8
jmp 0x10018b4b
mov eax, dword [str.object]
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x48], eax
mov ecx, esi
mov ax, word [0x100cea30]
mov word [esp + 0x4c], ax
lea eax, [esp + 0x48]
push eax
push 0xb
lea eax, [esp + 0x80]
mov dword [esp + 0x60], 6
push eax
mov dword [esp + 0x68], 0xf
mov byte [esp + 0x5a], 0
call fcn.100011a9
movq xmm0, qword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
push 0
push eax
lea eax, [esp + 0x2c]
movq qword [esp + 0x2c], xmm0
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], ecx
push 0x65
push eax
call fcn.100015af
add esp, 0x14
lea eax, [esp + 0x90]
jmp 0x100187e3
xorps xmm0, xmm0
lea ecx, [esp + 0x48]
push 0x20
movups xmmword [esp + 0x4c], xmm0
call fcn.100015cd
movups xmm0, xmmword [str.object_separator]
mov dword [esp + 0x48], eax
mov ecx, esi
mov dword [esp + 0x58], 0x10
movups xmmword [eax], xmm0
mov byte [eax + 0x10], 0
lea eax, [esp + 0x48]
push eax
push 0xc
lea eax, [esp + 0x80]
mov dword [esp + 0x64], 0x1f
push eax
call fcn.100011a9
movq xmm0, qword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
push 0
push eax
lea eax, [esp + 0x2c]
movq qword [esp + 0x2c], xmm0
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], ecx
push 0x65
push eax
call fcn.100015af
add esp, 0x14
lea eax, [esp + 0x90]
jmp 0x100187e3
mov ax, word [0x100ce9e8]
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
mov ecx, esi
mov word [esp + 0x50], ax
movq xmm0, qword [str.object_key]
lea eax, [esp + 0x48]
push eax
push 4
lea eax, [esp + 0x80]
mov dword [esp + 0x60], 0xa
push eax
mov dword [esp + 0x68], 0xf
movq qword [esp + 0x54], xmm0
mov byte [esp + 0x5e], 0
call fcn.100011a9
movq xmm0, qword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
push 0
push eax
lea eax, [esp + 0x2c]
movq qword [esp + 0x2c], xmm0
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], ecx
push 0x65
push eax
call fcn.100015af
add esp, 0x14
lea eax, [esp + 0x90]
jmp 0x100187e3
mov bl, 1
jmp 0x10018b4b
mov eax, dword [str.value]
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x48], eax
mov ecx, esi
mov al, byte [0x100ccf5c]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x48]
push eax
push 0
lea eax, [esp + 0x80]
mov dword [esp + 0x60], 5
push eax
mov dword [esp + 0x68], 0xf
mov byte [esp + 0x59], 0
call fcn.100011a9
movq xmm0, qword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
push 0
push eax
lea eax, [esp + 0x2c]
movq qword [esp + 0x2c], xmm0
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], ecx
push 0x65
push eax
call fcn.100015af
add esp, 0x14
lea eax, [esp + 0x90]
jmp 0x100186bf
mov eax, dword [str.value]
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x48], eax
mov ecx, esi
mov al, byte [0x100ccf5c]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x48]
push eax
push 0x10
lea eax, [esp + 0x80]
mov dword [esp + 0x60], 5
push eax
mov dword [esp + 0x68], 0xf
mov byte [esp + 0x59], 0
call fcn.100011a9
movq xmm0, qword [esi + 0x44]
mov ecx, dword [esi + 0x4c]
push 0
push eax
lea eax, [esp + 0x2c]
movq qword [esp + 0x2c], xmm0
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x38], ecx
push 0x65
push eax
call fcn.100015af
add esp, 0x14
lea eax, [esp + 0x90]
jmp 0x100186bf
lea ecx, [esp + 0x90]
call fcn.10003bbb
lea ecx, [esp + 0x78]
mov dword [esp + 0x6c], 0x100cbe90
mov dword [esp + 0x60], 0x100cbe90
call fcn.10003bbb
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x10018b49
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
cmp eax, 0x1000
jb 0x10018b3f
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1000420f
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
add esp, 8
push eax
push ecx
call fcn.10001a78
add esp, 8
xor bl, bl
mov edx, dword [esp + 0x30]
test edx, edx
je 0x10018b67
mov ecx, dword [esp + 0x38]
sub ecx, edx
sar ecx, 2
push ecx
push edx
lea ecx, [esp + 0x38]
call fcn.100068fc
mov ecx, dword [esp + 0xa8]
mov al, bl
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1000314d
add esp, 0x9c
ret 4
call fcn.10005029
call fcn.10005029
call fcn.10005029
call fcn.10005029
imul ecx, dword [edx - 0x7bbeefff], 0x84201001
add dword [eax], edx
sub eax, dword [ecx + eax + 0x1845b10]
adc byte [eax - 124], ch
add dword [eax], edx
dec esp
test byte [ecx], al
adc dl, bl
add dword [ecx], 0x10
cmp al, 0x83
add dword [eax], edx
arpl word [edx - 0x7596efff], ax
add dword [eax], edx
imul ecx, dword [edx - 0x7596efff], 0x8a691001
add dword [eax], edx
out dx, eax
mov dword [ecx], eax
adc byte [ecx - 0x76], ch
add dword [eax], edx
imul ecx, dword [edx - 0x3333efff], 0xcccccccc
int3