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

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x10], 0
jne 0x1001d403
inc dword [esi + 0x14]
cmp byte [esi + 0xc], 0
mov dword [esi + 0x10], 1
je 0x1001d2a6
mov byte [esi + 0xc], 0
jmp 0x1001d2af
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, 0xffffffff
je 0x1001d2d8
mov ecx, dword [esi + 0x20]
mov byte [esp + 0xf], al
cmp ecx, dword [esi + 0x24]
je 0x1001d2ca
mov byte [ecx], al
inc dword [esi + 0x20]
jmp 0x1001d2d8
lea eax, [esp + 0xf]
push eax
push ecx
lea ecx, [esi + 0x1c]
call fcn.10009520
mov ebx, dword [esi + 8]
lea ecx, [esi + 0x18]
mov eax, dword [esi + 0x10]
cmp ebx, 0xa
jne 0x1001d314
inc dword [ecx]
mov dword [esi + 0x14], 0
mov edx, dword [esi + 0x14]
dec eax
mov byte [esi + 0xc], 1
mov dword [esi + 0x10], eax
test edx, edx
jne 0x1001d3f5
mov eax, dword [ecx]
test eax, eax
je 0x1001d3fb
dec eax
mov dword [ecx], eax
jmp 0x1001d3fb
mov edx, dword [esi + 0x14]
cmp ebx, 0xef
jne 0x1001d2f2
inc eax
cmp byte [esi + 0xc], 0
mov dword [esi + 0x10], eax
lea eax, [edx + 1]
mov dword [esi + 0x14], eax
je 0x1001d335
mov byte [esi + 0xc], 0
jmp 0x1001d33e
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, 0xffffffff
je 0x1001d367
mov ecx, dword [esi + 0x20]
mov byte [esp + 0xf], al
cmp ecx, dword [esi + 0x24]
je 0x1001d359
mov byte [ecx], al
inc dword [esi + 0x20]
jmp 0x1001d367
lea eax, [esp + 0xf]
push eax
push ecx
lea ecx, [esi + 0x1c]
call fcn.10009520
mov eax, dword [esi + 8]
cmp eax, 0xa
jne 0x1001d38a
inc dword [esi + 0x18]
mov eax, 0xe
pop edi
mov dword [esi + 0x14], 0
mov dword [esi + 0x40], str.invalid_BOM__must_be_0xEF_0xBB_0xBF_if_given
pop esi
pop ebx
pop ecx
ret
cmp eax, 0xbb
jne 0x1001d3e4
inc dword [esi + 0x10]
inc dword [esi + 0x14]
cmp byte [esi + 0xc], 0
je 0x1001d3a3
mov byte [esi + 0xc], 0
jmp 0x1001d3ac
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, 0xffffffff
je 0x1001d3d5
mov ecx, dword [esi + 0x20]
mov byte [esp + 0xf], al
cmp ecx, dword [esi + 0x24]
je 0x1001d3c7
mov byte [ecx], al
inc dword [esi + 0x20]
jmp 0x1001d3d5
lea eax, [esp + 0xf]
push eax
push ecx
lea ecx, [esi + 0x1c]
call fcn.10009520
mov eax, dword [esi + 8]
cmp eax, 0xa
je 0x1001d36f
cmp eax, 0xbf
je 0x1001d403
pop edi
mov dword [esi + 0x40], str.invalid_BOM__must_be_0xEF_0xBB_0xBF_if_given
mov eax, 0xe
pop esi
pop ebx
pop ecx
ret
lea eax, [edx - 1]
mov dword [esi + 0x14], eax
cmp ebx, 0xffffffff
je 0x1001d403
dec dword [esi + 0x20]
inc dword [esi + 0x10]
inc dword [esi + 0x14]
cmp byte [esi + 0xc], 0
je 0x1001d415
mov byte [esi + 0xc], 0
jmp 0x1001d41e
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, 0xffffffff
je 0x1001d447
mov ecx, dword [esi + 0x20]
mov byte [esp + 0xf], al
cmp ecx, dword [esi + 0x24]
je 0x1001d439
mov byte [ecx], al
inc dword [esi + 0x20]
jmp 0x1001d447
lea eax, [esp + 0xf]
push eax
push ecx
lea ecx, [esi + 0x1c]
call fcn.10009520
mov eax, dword [esi + 8]
cmp eax, 0xa
jne 0x1001d45b
inc dword [esi + 0x18]
mov dword [esi + 0x14], 0
jmp 0x1001d403
cmp eax, 0x20
je 0x1001d403
cmp eax, 9
je 0x1001d403
cmp eax, 0xd
je 0x1001d403
inc eax
cmp eax, 0x7e
ja case.0x1001d47b.1
movzx eax, byte [eax + 0x1001d568]
jmp dword [eax*4 + 0x1001d534]
pop edi
pop esi
mov eax, 8
pop ebx
pop ecx
ret
pop edi
pop esi
mov eax, 0xa
pop ebx
pop ecx
ret
pop edi
pop esi
mov eax, 9
pop ebx
pop ecx
ret
pop edi
pop esi
mov eax, 0xb
pop ebx
pop ecx
ret
pop edi
pop esi
mov eax, 0xc
pop ebx
pop ecx
ret
pop edi
pop esi
mov eax, 0xd
pop ebx
pop ecx
ret
push 1
push 4
push str.true
mov ecx, esi
call fcn.1001d5f0
pop edi
pop esi
pop ebx
pop ecx
ret
push 2
push 5
push str.false
mov ecx, esi
call fcn.1001d5f0
pop edi
pop esi
pop ebx
pop ecx
ret
push 3
push 4
push str.null
mov ecx, esi
call fcn.1001d5f0
pop edi
pop esi
pop ebx
pop ecx
ret
pop edi
mov ecx, esi
pop esi
pop ebx
add esp, 4
jmp fcn.1001dd90
pop edi
mov ecx, esi
pop esi
pop ebx
add esp, 4
jmp 0x1001d690
pop edi
pop esi
mov eax, 0xf
pop ebx
pop ecx
ret
pop edi
mov dword [esi + 0x40], str.invalid_literal
mov eax, 0xe
pop esi
pop ebx
pop ecx
ret
sub esp, 0x3c
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.1001d140
mov eax, dword [esi + 8]
mov dl, al
add eax, 0xffffffd3
mov dword [esp + 0x20], 5
cmp eax, 0xc
ja case.0x1001d6ba.46
movzx eax, byte [eax + 0x1001dc94]
jmp dword [eax*4 + 0x1001dc84]
lea ecx, [esi + 0x28]
push edx
call fcn.1001ceb0
inc dword [esi + 0x10]
lea ebp, [esi + 0x10]
inc dword [esi + 0x14]
lea edi, [esi + 0x14]
cmp byte [esi + 0xc], 0
lea ebx, [esi + 0xc]
mov dword [esp + 0x20], 6
je 0x1001d710
mov byte [ebx], 0
jmp 0x1001d719
mov byte [esp + 0x24], dl
lea ebp, [esi + 0x10]
lea edi, [esi + 0x14]
lea ebx, [esi + 0xc]
jmp 0x1001d785
mov byte [esp + 0x14], dl
lea ebp, [esi + 0x10]
lea ebx, [esi + 0xc]
lea edi, [esi + 0x14]
jmp 0x1001d7d5
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, 0xffffffff
je 0x1001d744
mov ecx, dword [esi + 0x20]
lea edx, [esi + 0x1c]
mov byte [esp + 0x13], al
cmp ecx, dword [esi + 0x24]
je 0x1001d737
mov byte [ecx], al
inc dword [esi + 0x20]
jmp 0x1001d744
lea eax, [esp + 0x13]
push eax
push ecx
mov ecx, edx
call fcn.10009520
mov eax, dword [esi + 8]
mov cl, al
cmp eax, 0xa
jne 0x1001d76b
inc dword [esi + 0x18]
mov dword [edi], 0
pop edi
mov dword [esi + 0x40], str.invalid_number__expected_digit_after__
mov eax, 0xe
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
add eax, 0xffffffd0
cmp eax, 9
ja case.default.0x1001d77a
movzx eax, byte [eax + 0x1001dcac]
jmp dword [eax*4 + 0x1001dca4]
mov byte [esp + 0x24], cl
push dword [esp + 0x24]
lea eax, [esi + 0x28]
mov ecx, eax
mov dword [esp + 0x1c], eax
call fcn.1001ceb0
mov ecx, esi
call fcn.1001afe0
mov edx, eax
cmp edx, 0x2e
je 0x1001d7c9
cmp edx, 0x45
je 0x1001d7ba
lea eax, [esi + 0x28]
mov dword [esp + 0x14], eax
cmp edx, 0x65
jne case.0x1001d9b5.58
mov al, byte [esi + 8]
lea ecx, [esi + 0x28]
mov byte [esp + 0x20], al
jmp 0x1001d9e3
lea ecx, [esi + 0x28]
jmp 0x1001d8b5
mov byte [esp + 0x14], cl
push dword [esp + 0x14]
lea ecx, [esi + 0x28]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebp
call fcn.1001ceb0
lea ecx, [ecx]
inc dword [ebp]
inc dword [edi]
cmp byte [ebx], 0
je 0x1001d81f
mov byte [ebx], 0
jmp 0x1001d828
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, 0xffffffff
je 0x1001d853
mov ecx, dword [esi + 0x20]
lea edx, [esi + 0x1c]
mov byte [esp + 0x13], al
cmp ecx, dword [esi + 0x24]
je 0x1001d846
mov byte [ecx], al
inc dword [esi + 0x20]
jmp 0x1001d853
lea eax, [esp + 0x13]
push eax
push ecx
mov ecx, edx
call fcn.10009520
mov eax, dword [esi + 8]
mov dl, al
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
cmp eax, 0xa
je 0x1001db85
mov edi, dword [esp + 0x18]
lea ecx, [esi + 0x28]
add eax, 0xffffffd2
mov dword [esp + 0x14], ecx
cmp eax, 0x37
ja case.0x1001d9b5.58
movzx eax, byte [eax + 0x1001dcc8]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x1001dcb8]
push edx
call fcn.1001ceb0
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
jmp 0x1001d810
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
mov eax, ecx
mov dword [esp + 0x14], eax
mov al, byte [esi + 0x60]
push eax
call fcn.1001ceb0
inc dword [ebp]
inc dword [edi]
cmp byte [ebx], 0
mov dword [esp + 0x20], 7
je 0x1001d8db
mov byte [ebx], 0
jmp 0x1001d8e4
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, 0xffffffff
je 0x1001d90f
mov ecx, dword [esi + 0x20]
lea edx, [esi + 0x1c]
mov byte [esp + 0x13], al
cmp ecx, dword [esi + 0x24]
je 0x1001d902
mov byte [ecx], al
inc dword [esi + 0x20]
jmp 0x1001d90f
lea eax, [esp + 0x13]
push eax
push ecx
mov ecx, edx
call fcn.10009520
mov eax, dword [esi + 8]
mov cl, al
cmp eax, 0xa
jne 0x1001d936
inc dword [esi + 0x18]
mov dword [edi], 0
pop edi
mov dword [esi + 0x40], str.invalid_number__expected_digit_after_.
mov eax, 0xe
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
add eax, 0xffffffd0
cmp eax, 9
ja case.default.0x1001d945
movzx eax, byte [eax + 0x1001dd04]
jmp dword [eax*4 + 0x1001dd00]
push ecx
lea ecx, [esi + 0x28]
call fcn.1001ceb0
inc dword [ebp]
inc dword [edi]
cmp byte [ebx], 0
je 0x1001d964
mov byte [ebx], 0
jmp 0x1001d96d
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, 0xffffffff
je 0x1001d998
mov ecx, dword [esi + 0x20]
lea edx, [esi + 0x1c]
mov byte [esp + 0x13], al
cmp ecx, dword [esi + 0x24]
je 0x1001d98b
mov byte [ecx], al
inc dword [esi + 0x20]
jmp 0x1001d998
lea eax, [esp + 0x13]
push eax
push ecx
mov ecx, edx
call fcn.10009520
mov eax, dword [esi + 8]
mov dl, al
cmp eax, 0xa
je 0x1001d9c4
add eax, 0xffffffd0
cmp eax, 0x35
ja case.0x1001d9b5.58
movzx eax, byte [eax + 0x1001dd1c]
jmp dword [eax*4 + 0x1001dd10]
push edx
jmp 0x1001d94d
lea ecx, [esi + 0x28]
jmp 0x1001d9db
mov dword [edi], 0
jmp 0x1001db96
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x1c]
mov byte [esp + 0x20], dl
mov dword [esp + 0x18], ecx
push dword [esp + 0x20]
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], ebp
call fcn.1001ceb0
inc dword [ebp]
inc dword [edi]
cmp byte [ebx], 0
mov dword [esp + 0x20], 7
je 0x1001da1b
mov byte [ebx], 0
jmp 0x1001da24
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, 0xffffffff
je 0x1001da4d
mov ecx, dword [esi + 0x20]
mov byte [esp + 0x13], al
cmp ecx, dword [esi + 0x24]
je 0x1001da3f
mov byte [ecx], al
inc dword [esi + 0x20]
jmp 0x1001da4d
lea eax, [esp + 0x13]
push eax
push ecx
lea ecx, [esi + 0x1c]
call fcn.10009520
mov eax, dword [esi + 8]
mov cl, al
cmp eax, 0xa
jne 0x1001da74
inc dword [esi + 0x18]
mov dword [edi], 0
pop edi
mov dword [esi + 0x40], str.invalid_number__expected______or_digit_after_exponent
mov eax, 0xe
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
add eax, 0xffffffd5
cmp eax, 0xe
ja case.0x1001da83.44
movzx eax, byte [eax + 0x1001dd60]
jmp dword [eax*4 + 0x1001dd54]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.1001ceb0
mov ecx, esi
call fcn.1001afe0
add eax, 0xffffffd0
cmp eax, 9
ja case.default.0x1001daaa
movzx eax, byte [eax + 0x1001dd74]
jmp dword [eax*4 + 0x1001dd70]
mov al, byte [esi + 8]
mov byte [esp + 0x14], al
jmp 0x1001dad2
pop edi
mov dword [esi + 0x40], str.invalid_number__expected_digit_after_exponent_sign
mov eax, 0xe
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov byte [esp + 0x14], cl
push dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
call fcn.1001ceb0
nop
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
inc dword [eax]
mov eax, dword [esp + 0x40]
inc dword [ebx]
cmp byte [eax], 0
je 0x1001dafa
mov byte [eax], 0
jmp 0x1001db03
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, 0xffffffff
je 0x1001db2c
mov ecx, dword [esi + 0x20]
mov byte [esp + 0x13], al
cmp ecx, dword [esi + 0x24]
je 0x1001db1e
mov byte [ecx], al
inc dword [esi + 0x20]
jmp 0x1001db2c
lea eax, [esp + 0x13]
push eax
push ecx
lea ecx, [esi + 0x1c]
call fcn.10009520
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x24]
mov byte [esp + 0x3c], al
cmp eax, 0xa
je 0x1001db71
mov ecx, dword [esp + 0x18]
lea edx, [eax - 0x30]
mov eax, dword [esp + 0x2c]
mov edi, eax
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ecx
cmp edx, 9
ja case.0x1001d9b5.58
movzx eax, byte [edx + 0x1001dd84]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x1001dd80]
push dword [esp + 0x3c]
jmp 0x1001dada
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov dword [ebx], 0
mov ebx, dword [esp + 0x1c]
jmp 0x1001db92
mov dword [edi], 0
lea eax, [esi + 0x28]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], eax
inc dword [esi + 0x18]
dec dword [ebp]
mov eax, dword [edi]
mov byte [ebx], 1
test eax, eax
jne 0x1001dbb5
mov eax, dword [esi + 0x18]
test eax, eax
je 0x1001dbb0
dec eax
mov dword [esi + 0x18], eax
lea ebx, [esi + 0x28]
jmp 0x1001dbbc
mov ebx, dword [esp + 0x14]
dec eax
mov dword [edi], eax
cmp dword [esi + 8], 0xffffffff
je 0x1001dbc5
dec dword [esi + 0x20]
mov dword [esp + 0x28], 0
call fcn.1016e76a
mov dword [eax], 0
mov eax, dword [esp + 0x20]
cmp eax, 5
jne 0x1001dc1c
cmp dword [ebx + 0x14], 0x10
mov eax, ebx
jb 0x1001dbeb
mov eax, dword [ebx]
push 0xa
lea ecx, [esp + 0x2c]
push ecx
push eax
call fcn.10172a2d
add esp, 0xc
mov edi, eax
mov ebp, edx
call fcn.1016e76a
cmp dword [eax], 0
jne 0x1001dc5c
mov dword [esi + 0x50], edi
mov eax, 5
pop edi
mov dword [esi + 0x54], ebp
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
cmp eax, 6
jne 0x1001dc5c
cmp dword [ebx + 0x14], 0x10
mov eax, ebx
jb 0x1001dc2b
mov eax, dword [ebx]
push 0xa
lea ecx, [esp + 0x2c]
push ecx
push eax
call fcn.101729e1
add esp, 0xc
mov edi, eax
mov ebp, edx
call fcn.1016e76a
cmp dword [eax], 0
jne 0x1001dc5c
mov dword [esi + 0x48], edi
mov eax, 6
pop edi
mov dword [esi + 0x4c], ebp
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
cmp dword [ebx + 0x14], 0x10
jb 0x1001dc64
mov ebx, dword [ebx]
lea eax, [esp + 0x28]
push eax
push ebx
call fcn.10171d8e
add esp, 8
mov eax, 7
fstp qword [esi + 0x58]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret