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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2d0
mov dword [esp + 0x10], ecx
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [0x1009a00c]
xor eax, ebp
mov dword [esp + 0x2c8], eax
xor edi, edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edi
lea eax, [esp + 0x8c]
mov dword [eax - 8], edi
mov dword [eax - 4], 0x14
mov dword [eax - 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 0x12c], edx
xor edx, edx
mov dword [esp + 0x14], ecx
nop word cs:[eax + eax]
movzx esi, byte [ecx]
cmp esi, 0x25
je 0x1003a190
inc ecx
test esi, esi
jne 0x1003a180
jmp 0x1003a1ec
movzx ebx, byte [ecx + 1]
add ecx, 2
cmp ebx, 0x25
je 0x1003a180
test ebx, ebx
je 0x1003a180
mov eax, ebx
add al, 0xc6
cmp al, 0xf5
jbe 0x1003a1c0
movzx ebx, byte [ecx]
inc ecx
test bl, bl
jne 0x1003a1a0
jmp 0x1003a180
cmp bl, 0x24
je 0x1003adfa
mov edx, 1
test edi, edi
mov edi, 0
je 0x1003a180
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
int3
test edi, edi
jne 0x1003af2a
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
test al, al
je 0x1003a6af
mov ebx, dword [esp + 0x14]
lea edx, [ebx + 1]
cmp al, 0x25
je 0x1003a250
mov esi, dword [esp + 0x10]
inc dword [esi + 4]
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov ecx, edi
mov dword [esp + 0x14], edx
call dword [section..00cfg]
mov ecx, esi
push 1
push ebx
call edi
mov ebx, dword [esp + 0x14]
test al, al
je 0x1003ac37
movzx eax, byte [ebx]
test al, al
jne 0x1003a206
jmp 0x1003a6af
lea esi, [ebx + 2]
movzx eax, byte [ebx + 1]
cmp al, 0x25
je 0x1003a581
cmp dword [esp + 0x84], 0
jne 0x1003ae0a
mov dword [esp + 4], 0
mov dword [esp + 0x14], esi
movzx ecx, al
add ecx, 0xffffffe0
cmp ecx, 0x10
ja case.0x1003a284.33
jmp dword [ecx*4 + 0x10088db4]
mov edx, dword [esp + 4]
mov ecx, edx
or ecx, 2
cmp al, 0x2b
cmovne ecx, edx
mov edx, ecx
or edx, 4
cmp al, 0x20
cmovne edx, ecx
mov ecx, edx
or ecx, 8
cmp al, 0x30
cmovne ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
inc ecx
mov dword [esp + 0x14], ecx
jmp 0x1003a279
test byte [esp + 4], 2
jne 0x1003ad2b
test byte [esp + 4], 1
jne 0x1003ad58
cmp al, 0x2a
je 0x1003ae31
mov ecx, eax
add cl, 0xd0
xor edx, edx
cmp cl, 9
jbe 0x1003a494
mov esi, 0xffffffff
cmp al, 0x2e
je 0x1003a536
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], edx
movzx ecx, al
mov dword [esp + 0x20], 2
mov bl, 1
add ecx, 0xffffffb7
cmp ecx, 0x31
ja case.0x1003a32b.74
mov dword [esp + 0x1c], 6
mov edi, 1
xor edx, edx
mov esi, dword [esp + 0x14]
jmp dword [ecx*4 + 0x10088df8]
movsx edi, al
lea ecx, [edi - 0x45]
cmp ecx, 0x33
ja case.0x1003a353.72
mov edx, 0x10
mov dword [esp + 0x1c], str.0123456789abcdef
mov eax, 0xa
jmp dword [ecx*4 + 0x10088ec0]
or dword [esp + 0x20], 1
mov eax, 0x10
mov dword [esp + 0x34], eax
cmp dword [esp + 0x20], 3
jne 0x1003a73b
mov edx, dword [esp + 8]
mov ecx, dword [edx]
mov dword [esp + 0x40], ecx
mov edi, dword [esp + 0xc]
add edx, 4
mov eax, ecx
or eax, edi
mov dword [esp + 8], edx
je 0x1003ae86
test ecx, ecx
je 0x1003a503
xor ebx, ebx
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
mov eax, ecx
xor edx, edx
div edi
and edx, 0xf
movzx edx, byte [esi + edx]
mov byte [esp + ebx + 0x18f], dl
dec ebx
cmp ecx, edi
mov ecx, eax
jae 0x1003a3a4
lea eax, [esp + 0x190]
lea edx, [eax + ebx]
neg ebx
mov edi, dword [esp + 0xc]
xor eax, eax
mov cl, 1
mov dword [esp + 0x1c], ecx
test byte [esp + 0x20], 1
mov dword [esp + 0x34], edx
je 0x1003a4bd
test edi, edi
setg dl
mov esi, edi
sub esi, ebx
setg dh
mov ecx, edi
test dl, dh
jne 0x1003a3fc
xor esi, esi
mov ecx, ebx
add eax, ecx
xor ecx, ecx
test byte [esp + 4], 8
mov edx, dword [esp + 0x18]
jne 0x1003a4e1
xor edi, edi
sub edx, eax
cmovle edx, ecx
mov eax, dword [esp + 4]
and eax, 1
jne 0x1003aeb4
test eax, eax
jne 0x1003aebb
inc edx
mov dword [esp + 4], ecx
dec edx
test edx, edx
jg 0x1003ac02
cmp byte [esp + 0x1c], 0
je 0x1003a853
inc esi
dec esi
test esi, esi
jg 0x1003aad2
inc edi
dec edi
test edi, edi
jg 0x1003a5a9
mov esi, dword [esp + 0x10]
add dword [esi + 4], ebx
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
push ebx
push dword [esp + 0x38]
call edi
test al, al
mov ecx, dword [esp + 4]
je 0x1003ac37
inc ecx
dec ecx
test ecx, ecx
jg 0x1003aec2
mov eax, dword [esp + 0x14]
jmp 0x1003a1f7
xor edx, edx
movzx eax, al
lea ecx, [edx + edx*4]
lea edx, [eax + ecx*2]
add edx, 0xffffffd0
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
jae 0x1003a2ee
jmp 0x1003a496
mov ecx, dword [esp + 4]
test cl, 0x10
jne 0x1003a885
test cl, 2
jne 0x1003ad62
test cl, 4
je 0x1003a3e6
jmp 0x1003b213
test edi, edi
sets cl
mov edi, edx
sub edi, eax
setg dl
test cl, dl
mov edx, dword [esp + 0x18]
mov ecx, 0
cmove edi, ecx
cmovne eax, edx
jmp 0x1003a411
mov byte [esp + 0x18f], 0x30
lea edx, [esp + 0x18f]
xor ebx, ebx
inc ebx
jmp 0x1003a3cf
or dword [esp + 0x20], 1
jmp case.0x1003a353.100
or dword [esp + 0x20], 1
mov dword [esp + 0x1c], 0x10088cec
jmp 0x1003a35f
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x2a
je 0x1003b230
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, eax
add cl, 0xd0
xor esi, esi
cmp cl, 9
ja 0x1003a2fb
xor esi, esi
movzx eax, al
lea ecx, [esi + esi*4]
lea esi, [eax + ecx*2]
add esi, 0xffffffd0
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
jb 0x1003a55b
jmp 0x1003a2fb
mov edi, dword [esp + 0x10]
inc dword [edi + 4]
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov ebx, edx
call dword [section..00cfg]
mov ecx, edi
push 1
push ebx
call dword [esp + 0x1c]
mov ebx, esi
jmp 0x1003a230
mov esi, dword [esp + 0x10]
inc dword [esi + 4]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov dword [esp + 0x20], ecx
call dword [section..00cfg]
mov ecx, esi
push 1
push 0x1008d117
call dword [esp + 0x28]
test al, al
jne 0x1003a44f
jmp 0x1003ac37
test bl, bl
je case.0x1003a353.83
mov eax, dword [esp + 8]
mov edi, dword [eax]
add eax, 4
mov dword [esp + 8], eax
mov dword [esp + 0x40], edi
mov esi, dword [esp + 0xc]
test esi, esi
je case.0x1003a74c.3
test edi, edi
mov eax, str._null_
cmove edi, eax
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, esi
mov ebx, eax
cmovg ebx, esi
test esi, esi
cmovle ebx, eax
mov byte [esp + 0x12c], 0x20
mov eax, dword [esp + 0x18]
sub eax, ebx
test byte [esp + 4], 1
mov dword [esp + 0x20], edi
mov dword [esp + 0xc], eax
je 0x1003a6e1
mov esi, dword [esp + 0x10]
add dword [esi + 4], ebx
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
push ebx
push dword [esp + 0x24]
call edi
test al, al
je 0x1003ac37
test byte [esp + 4], 1
mov ebx, dword [esp + 0xc]
je case.0x1003a74c.3
test ebx, ebx
jle case.0x1003a74c.3
inc ebx
dec ebx
test ebx, ebx
jle case.0x1003a74c.3
mov esi, dword [esp + 0x10]
inc dword [esi + 4]
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
lea eax, [esp + 0x12c]
mov ecx, esi
push 1
push eax
call edi
test al, al
jne 0x1003a67b
jmp 0x1003ac37
mov bl, 1
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x8c]
cmp eax, ecx
jne 0x1003b198
mov ecx, dword [esp + 0x2c8]
xor ecx, ebp
call fcn.100468e0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
test eax, eax
jle 0x1003a63e
test byte [esp + 4], 8
je 0x1003a6f8
mov byte [esp + 0x12c], 0x30
mov esi, dword [esp + 0x18]
sub esi, ebx
inc esi
mov eax, esi
dec eax
test eax, eax
jle 0x1003b24c
mov esi, eax
mov edi, dword [esp + 0x10]
inc dword [edi + 4]
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov dword [esp + 0xc], ecx
call dword [section..00cfg]
lea eax, [esp + 0x12c]
mov ecx, edi
push 1
push eax
call dword [esp + 0x14]
test al, al
jne 0x1003a6ff
jmp 0x1003ac37
mov eax, dword [esp + 0x20]
cmp eax, 0xf
ja case.0x1003a74c.3
mov edx, dword [esp + 0x34]
jmp dword [eax*4 + 0x10088f90]
mov edx, dword [esp + 8]
mov ecx, dword [edx]
mov dword [esp + 0x40], ecx
test ecx, ecx
jns 0x1003a37d
neg ecx
mov dword [esp + 0x40], ecx
or dword [esp + 4], 0x10
jmp 0x1003a37d
mov eax, dword [esp + 0x14]
lea esi, [eax + 1]
mov al, byte [eax]
mov dword [esp + 0x20], 4
cmp al, 0x6c
je 0x1003a89a
mov dword [esp + 0x14], esi
xor ebx, ebx
jmp case.0x1003a32b.74
mov eax, dword [esp + 8]
movsd xmm0, qword [eax]
movaps xmmword [esp + 0x20], xmm0
add eax, 8
mov dword [esp + 8], eax
movsd qword [esp + 0x40], xmm0
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
add esp, 4
test eax, eax
setne al
mov ecx, 0x1008ce16
mov edx, 0x1008c63b
cmove edx, ecx
mov ecx, 0x1008cd10
mov esi, 0x1008b8f3
cmove esi, ecx
shl al, 5
or al, 0x45
mov dword [esp + 0x54], 0x19
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], esi
mov byte [esp + 0x60], al
movaps xmm0, xmmword [0x10088250]
movups xmmword [esp + 0x64], xmm0
mov dword [esp + 0x74], 2
lea eax, [esp + 0x12c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0x19a
mov dword [esp + 0x50], 0
sub esp, 8
movaps xmm0, xmmword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dsign]
add esp, 8
mov ebx, dword [esp + 4]
or ebx, 0x10
test eax, eax
je 0x1003a8be
movaps xmm0, xmmword [esp + 0x20]
andps xmm0, xmmword [0x10088cc0]
jmp 0x1003a8c3
mov eax, dword [esp + 0x10]
inc dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x20], ecx
call dword [section..00cfg]
lea eax, [esp + 0x54]
mov ecx, dword [esp + 0x10]
push 1
push eax
call dword [esp + 0x28]
test al, al
jne 0x1003a444
jmp 0x1003ac37
mov byte [esp + 0x54], 0x2d
xor eax, eax
inc eax
mov dword [esp + 0x1c], 0
jmp 0x1003a3e6
mov edi, 2
mov dword [esp + 0x1c], 6
xor edx, edx
add dword [esp + 0x14], edi
mov al, byte [esi]
mov ebx, edx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
jmp case.0x1003a32b.74
movaps xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x20], xmm0
cmove ebx, dword [esp + 4]
lea eax, [esp + 0x78]
movsd qword [eax], xmm0
push eax
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dtest]
add esp, 4
mov esi, ebx
and esi, 0xfffffff7
test ax, ax
cmovle esi, ebx
mov eax, dword [esp + 0xc]
test eax, eax
mov ebx, 6
cmovns ebx, eax
cmp edi, 0x67
jne 0x1003acf0
xor eax, eax
inc eax
test ebx, ebx
cmovne eax, ebx
sub esp, 0x10
lea ecx, [esp + 0x58]
mov dword [esp + 0xc], ecx
movaps xmm0, xmmword [esp + 0x30]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
lea ecx, [esp + 0x64]
call sym.mozglue.dll_public:_bool___thiscall_double_conversion::DoubleToStringConverter::ToPrecision_double__int__class_double_conversion::StringBuilder__const
test al, al
je 0x1003b2a4
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x50]
mov byte [eax + edi], 0
mov dword [esp + 0x50], 0xffffffff
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
push esi
push 8
push ebx
push dword [esp + 0x24]
push edi
call fcn.10009f30
add esp, 0x14
mov ecx, dword [esp + 0x50]
test ecx, ecx
jns 0x1003b2ab
test al, al
jne case.0x1003a74c.3
jmp 0x1003ac37
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
add ecx, 4
xor edi, edi
mov ebx, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
mov esi, 0xb
mov edx, dword [esp + 0x18]
cmp dword [esp + 0xc], 0
jne 0x1003a9b0
mov eax, ebx
or eax, edi
je 0x1003b2b8
mov eax, ebx
or eax, edi
je 0x1003aa93
mov edx, edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ecx
xor edi, edi
lea esi, [esp + 0x190]
mov dword [esp + 0x20], edx
push 0
push dword [esp + 0x38]
push edx
push ebx
call fcn.100476d0
mov dword [esp + 8], edx
mov ecx, eax
mov edx, eax
imul ecx, dword [esp + 0x34]
mov eax, ebx
sub ebx, ecx
and ebx, 0xf
mov ecx, dword [esp + 0x1c]
mov cl, byte [ecx + ebx]
mov byte [esi - 1], cl
dec esi
inc edi
cmp eax, dword [esp + 0x34]
sbb dword [esp + 0x20], 0
mov ebx, edx
mov edx, dword [esp + 8]
jae 0x1003a9cd
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov edx, esi
mov esi, eax
mov ecx, dword [esp + 0x10]
push dword [esp + 4]
push esi
push dword [esp + 0x14]
push dword [esp + 0x24]
push edi
call fcn.10009f30
add esp, 0x14
test al, al
jne case.0x1003a74c.3
jmp 0x1003ac37
mov eax, dword [esp + 8]
lea ecx, [eax + 8]
mov edx, dword [eax]
mov edi, dword [eax + 4]
mov dword [esp + 0x44], edi
mov ebx, edx
mov dword [esp + 0x40], edx
mov esi, 6
test edi, edi
jns 0x1003a99b
mov dword [esp + 0x38], ecx
xor eax, eax
mov ecx, ebx
neg ecx
sbb eax, edi
mov ebx, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
or dword [esp + 4], 0x10
mov dword [esp + 0x3c], 6
mov edx, eax
jmp 0x1003a9c4
mov dword [esp + 8], ecx
mov byte [esp + 0x18f], 0x30
xor edi, edi
inc edi
lea edx, [esp + 0x18f]
jmp 0x1003aa1f
mov eax, dword [esp + 8]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
add eax, 8
mov edi, ecx
mov dword [esp + 0x44], ecx
mov ebx, edx
mov dword [esp + 0x40], edx
mov esi, 7
mov ecx, eax
jmp 0x1003a99b
mov eax, dword [esp + 0x10]
inc dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x20], ecx
call dword [section..00cfg]
mov ecx, dword [esp + 0x10]
push 1
push 0x1008d117
call dword [esp + 0x28]
test al, al
jne 0x1003a445
jmp 0x1003ac37
mov edi, dword [esp + 8]
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x40], eax
sub esp, 0x20
xor esi, esi
mov dword [esp + 0x1c], esi
movaps xmm0, xmmword [0x10088ab0]
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, eax
test eax, eax
mov dword [esp + 8], edi
je 0x1003b2d5
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov edi, eax
push esi
push esi
push ebx
push eax
push 0xffffffffffffffff
push dword [esp + 0x54]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov byte [ebx + edi - 1], 0
mov esi, dword [esp + 0xc]
test esi, esi
je 0x1003b319
mov dword [esp + 0x20], edi
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, esi
mov ebx, eax
cmovg ebx, esi
test esi, esi
cmovle ebx, eax
mov byte [esp + 0x12c], 0x20
mov eax, dword [esp + 0x18]
sub eax, ebx
test byte [esp + 4], 1
mov dword [esp + 0xc], eax
jne 0x1003abae
test eax, eax
jg 0x1003b31f
mov esi, dword [esp + 0x10]
add dword [esi + 4], ebx
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
push ebx
mov esi, dword [esp + 0x24]
push esi
call edi
test al, al
je 0x1003b3a6
test byte [esp + 4], 1
mov edi, dword [esp + 0xc]
je 0x1003abe7
test edi, edi
jg 0x1003b372
test esi, esi
je case.0x1003a74c.3
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, dword [esp + 0x14]
jmp 0x1003a1f7
mov eax, dword [esp + 0x10]
inc dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], edx
call dword [section..00cfg]
mov ecx, dword [esp + 0x10]
push 1
push 0x1008f09f
call dword [esp + 0x28]
mov edx, dword [esp + 0x18]
test al, al
jne 0x1003a430
xor ebx, ebx
jmp 0x1003a6b1
test byte [esp + 4], 1
jne 0x1003ad35
xor esi, esi
inc esi
mov edx, dword [esp + 0x18]
test edx, edx
cmovle esi, edx
dec esi
inc edx
dec edx
cmp edx, 2
jge 0x1003b40a
mov ebx, dword [esp + 8]
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x20]
cmp eax, 2
jne 0x1003b3dd
mov al, byte [ebx]
lea ecx, [esp + 0x40]
mov byte [ecx], al
mov edi, dword [esp + 0x10]
inc dword [edi + 4]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
push 1
lea eax, [esp + 0x44]
push eax
call esi
test al, al
je 0x1003ac37
add ebx, 4
mov dword [esp + 8], ebx
test byte [esp + 4], 1
je case.0x1003a74c.3
mov eax, dword [esp + 0x18]
inc eax
dec eax
cmp eax, 2
jl case.0x1003a74c.3
mov edi, eax
mov esi, dword [esp + 0x10]
inc dword [esi + 4]
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
push 1
push 0x1008f09f
call ebx
xor ebx, ebx
test al, al
mov eax, edi
jne 0x1003acb8
jmp 0x1003a6b1
movaps xmm0, xmmword [esp + 0x20]
xor eax, eax
cmp edi, 0x64
jle 0x1003b440
cmp edi, 0x66
jne 0x1003b45c
sub esp, 0x10
lea eax, [esp + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
movsd qword [esp], xmm0
lea ecx, [esp + 0x64]
call sym.mozglue.dll_public:_bool___thiscall_double_conversion::DoubleToStringConverter::ToFixed_double__int__class_double_conversion::StringBuilder__const
jmp 0x1003a92b
and dword [esp + 4], 0xfffffffb
jmp 0x1003a2cb
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x18]
jmp 0x1003ac65
mov dword [esp + 0x1c], 2
mov dl, 1
xor edi, edi
inc edi
mov esi, dword [esp + 0x14]
jmp case.0x1003a32b.76
and dword [esp + 4], 0xfffffff7
jmp 0x1003a2d6
mov byte [esp + 0x54], 0x2b
jmp 0x1003a88a
mov esi, dword [esp + 0x10]
inc dword [esi + 4]
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
push 1
push 0x1008f02d
call edi
test al, al
je 0x1003ac37
mov ebx, dword [esp + 0x10]
inc dword [ebx + 4]
mov eax, dword [esp + 0x14]
lea esi, [eax - 1]
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
push 1
push esi
call edi
jmp 0x1003aa39
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 8], ecx
mov dword [esp + 0x40], eax
test eax, eax
je case.0x1003a74c.3
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
mov dword [eax], ecx
jmp case.0x1003a74c.3
or dword [esp + 0x20], 1
mov eax, 8
jmp case.0x1003a353.100
or dword [esp + 4], 1
jmp case.0x1003a284.32
test edx, edx
jne 0x1003b1a7
inc edi
xor edx, edx
jmp 0x1003a180
mov ecx, ebx
mov esi, ebx
add esi, 3
xor ecx, ecx
test al, al
je 0x1003ae68
movzx edx, al
cmp edx, 0x24
je 0x1003ae68
movsx eax, al
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2]
add ecx, 0xffffffd0
mov al, byte [esi - 1]
inc esi
jmp 0x1003ae13
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 8]
mov esi, dword [ecx]
add ecx, 4
mov dword [esp + 8], ecx
mov edx, esi
test esi, esi
jns 0x1003a2ee
neg edx
mov ecx, dword [esp + 4]
and ecx, 0xfffffff6
or ecx, 1
mov dword [esp + 4], ecx
jmp 0x1003a2ee
mov eax, dword [esp + 0x80]
cmp dword [eax + ecx*8 - 8], 0x14
je 0x1003aef2
mov eax, dword [eax + ecx*8 - 4]
mov dword [esp + 8], eax
mov al, byte [esi - 1]
jmp 0x1003a26d
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov edx, 0x1009049d
push dword [esp + 4]
push dword [esp + 0x24]
push ebx
push dword [esp + 0x24]
push ebx
call fcn.10009f30
add esp, 0x14
test al, al
jne case.0x1003a74c.3
jmp 0x1003a6b1
mov ecx, edx
jmp 0x1003a423
xor edx, edx
jmp 0x1003a42b
mov esi, dword [esp + 0x10]
inc dword [esi + 4]
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov ebx, ecx
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
push 1
push 0x1008f09f
call edi
mov ecx, ebx
test al, al
jne 0x1003a482
jmp 0x1003ac37
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
int3
mov eax, dword [esp + 0x14]
lea esi, [eax + 1]
mov al, byte [eax]
cmp al, 0x68
jne 0x1003b21d
mov dword [esp + 0x1c], 0xe
mov edi, 2
jmp 0x1003a8a7
cmp edi, 0x15
jae 0x1003b3c8
mov dword [esp + 0x84], edi
xor ecx, ecx
mov eax, dword [esp + 0x80]
mov dword [eax + ecx*8], 0x14
inc ecx
cmp edi, ecx
jne 0x1003af3c
mov eax, dword [ebp + 8]
mov esi, eax
movzx ecx, byte [eax]
cmp ecx, 0x25
je 0x1003af68
inc esi
mov eax, esi
test ecx, ecx
jne 0x1003af52
jmp 0x1003b1bc
lea eax, [esi + 2]
mov cl, byte [esi + 1]
cmp cl, 0x25
je 0x1003af52
add esi, 3
xor edx, edx
test cl, cl
je 0x1003af96
movzx ebx, cl
cmp ebx, 0x24
je 0x1003af96
movsx ecx, cl
lea edx, [edx + edx*4]
lea edx, [ecx + edx*2]
add edx, 0xffffffd0
mov cl, byte [eax]
inc eax
inc esi
jmp 0x1003af78
test cl, cl
je 0x1003b49c
test edx, edx
je 0x1003b49c
cmp edx, edi
ja 0x1003b49c
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
cmp dword [ecx + edx*8 - 8], 0x14
jne 0x1003af52
mov bl, byte [esi - 1]
movzx eax, bl
lea ecx, [eax - 0x2a]
cmp ecx, 6
ja case.default.0x1003afce
jmp dword [ecx*4 + 0x10088d00]
inc esi
jmp 0x1003afc0
cmp eax, 0x20
je case.0x1003afce.43
mov eax, ebx
add al, 0xd0
cmp al, 9
ja 0x1003aff0
mov bl, byte [esi]
inc esi
mov eax, ebx
add al, 0xd0
cmp al, 0xa
jb 0x1003afe5
cmp bl, 0x2e
jne 0x1003b014
mov bl, byte [esi]
cmp bl, 0x2a
je 0x1003b4c6
inc esi
mov eax, ebx
add al, 0xd0
cmp al, 9
ja 0x1003b014
mov bl, byte [esi]
inc esi
mov eax, ebx
add al, 0xd0
cmp al, 0xa
jb 0x1003b009
mov eax, dword [esp + 4]
mov dword [eax + edx*8 - 8], 2
movzx ecx, bl
mov dword [esp + 4], 6
cmp ecx, 0x69
jle 0x1003b06a
cmp ecx, 0x73
jg 0x1003b0ad
cmp ecx, 0x6a
je 0x1003b0bf
cmp ecx, 0x6c
jne 0x1003b0dd
mov eax, dword [esp + 0x80]
mov dword [eax + edx*8 - 8], 4
lea eax, [esi + 1]
mov bl, byte [esi]
mov dword [esp + 0x20], 2
cmp bl, 0x6c
je 0x1003b0c8
jmp 0x1003b0df
cmp ecx, 0x49
je 0x1003b0b7
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
mov eax, esi
cmp ecx, 0x4c
je 0x1003b0c8
cmp ecx, 0x68
jne 0x1003b0dd
mov eax, dword [esp + 0x80]
mov dword [eax + edx*8 - 8], 0
lea eax, [esi + 1]
mov bl, byte [esi]
cmp bl, 0x68
jne 0x1003b0df
mov dword [esp + 0x20], 2
mov dword [esp + 4], 0xe
jmp 0x1003b0c8
cmp ecx, 0x74
je 0x1003b0b7
cmp ecx, 0x7a
jne 0x1003b0dd
mov dword [esp + 4], 2
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
mov eax, esi
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 4]
mov dword [ecx + edx*8 - 8], ebx
add esi, dword [esp + 0x20]
mov bl, byte [eax]
mov eax, esi
movsx ecx, bl
cmp ecx, 0x62
jle 0x1003b104
add ecx, 0xffffff9d
cmp ecx, 0x15
ja case.0x1003b0ef.104
jmp dword [ecx*4 + 0x10088d1c]
mov ecx, dword [esp + 0x80]
or dword [ecx + edx*8 - 8], 1
jmp case.0x1003b0ef.99
lea esi, [ecx - 0x45]
cmp esi, 3
jae 0x1003b132
mov ecx, dword [esp + 0x80]
mov dword [ecx + edx*8 - 8], 8
mov ecx, dword [esp + 0x80]
cmp dword [ecx + edx*8 - 8], 0x14
jne 0x1003af52
jmp 0x1003b4b1
cmp ecx, 0x53
je 0x1003b187
cmp ecx, 0x58
je case.0x1003b0ef.111
mov ecx, dword [esp + 0x80]
mov dword [ecx + edx*8 - 8], 0x14
jmp case.0x1003b0ef.99
mov ecx, dword [esp + 0x80]
mov dword [ecx + edx*8 - 8], 0xa
jmp case.0x1003b0ef.99
mov ecx, dword [esp + 0x80]
mov dword [ecx + edx*8 - 8], 0xb
jmp case.0x1003b0ef.99
mov ecx, dword [esp + 0x80]
cmp dword [ecx + edx*8 - 8], 4
je 0x1003b18e
mov dword [ecx + edx*8 - 8], 9
jmp case.0x1003b0ef.99
mov ecx, dword [esp + 0x80]
mov dword [ecx + edx*8 - 8], 0xc
jmp case.0x1003b0ef.99
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x1003a6c7
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
int3
xor ecx, ecx
inc ecx
cmp edi, 2
cmovae ecx, edi
mov eax, 4
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x12c]
mov dword [edx + eax], esi
mov edx, dword [esp + 0x80]
mov esi, dword [edx + eax - 4]
cmp esi, 0xf
ja case.0x1003b1ef.13
jmp dword [esi*4 + 0x10088d74]
add dword [esp + 0x12c], 4
add eax, 8
dec ecx
jne 0x1003b1d1
jmp 0x1003a1f4
add dword [esp + 0x12c], 8
jmp 0x1003b1fe
mov byte [esp + 0x54], 0x20
jmp 0x1003a88a
mov dword [esp + 0x14], esi
xor ebx, ebx
mov dword [esp + 0x20], 0
jmp case.0x1003a32b.74
mov al, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 8]
mov esi, dword [ecx]
add ecx, 4
mov dword [esp + 8], ecx
jmp 0x1003a2fb
xor eax, eax
dec eax
mov dword [esp + 0xc], eax
jmp 0x1003a63e
mov eax, dword [esp + 8]
mov eax, dword [eax]
movsx ecx, al
shl eax, 0x18
mov dword [esp + 0x40], ecx
jns 0x1003b275
neg ecx
mov dword [esp + 0x40], ecx
or dword [esp + 4], 0x10
mov edx, dword [esp + 8]
jmp 0x1003a37d
mov edx, dword [esp + 8]
movzx ecx, byte [edx]
jmp 0x1003a379
mov eax, dword [esp + 8]
mov eax, dword [eax]
movsx ecx, ax
shl eax, 0x10
jmp 0x1003b264
mov edx, dword [esp + 8]
movzx ecx, word [edx]
jmp 0x1003a379
xor eax, eax
jmp 0x1003a960
mov edx, dword [esp + 0x48]
mov byte [edx + ecx], 0
jmp 0x1003a96c
mov dword [esp + 8], ecx
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov eax, edx
mov edx, 0x1009049d
push dword [esp + 4]
push esi
push ebx
push eax
jmp 0x1003ae9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x459
jne 0x1003b3c0
cmp dword [esp + 0xc], 0
je case.0x1003a74c.3
mov eax, dword [esp + 0xc]
cmp eax, 0x1a
mov edx, 0x1a
cmovb edx, eax
mov ecx, dword [esp + 0x10]
push dword [esp + 4]
push dword [esp + 0x1c]
call fcn.10071200
add esp, 8
jmp 0x1003aa39
push edi
jmp 0x1003abf0
test byte [esp + 4], 8
je 0x1003b32e
mov byte [esp + 0x12c], 0x30
mov edi, dword [esp + 0x18]
sub edi, ebx
inc edi
mov eax, edi
dec eax
test eax, eax
jle 0x1003b3ea
mov edi, eax
mov esi, dword [esp + 0x10]
inc dword [esi + 4]
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov dword [esp + 0xc], ecx
call dword [section..00cfg]
lea eax, [esp + 0x12c]
mov ecx, esi
push 1
push eax
call dword [esp + 0x14]
test al, al
mov esi, dword [esp + 0x20]
jne 0x1003b335
jmp 0x1003b3a6
inc edi
mov eax, edi
dec eax
test eax, eax
jle 0x1003b3f6
mov edi, eax
mov esi, dword [esp + 0x10]
inc dword [esi + 4]
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
lea eax, [esp + 0x12c]
mov ecx, esi
push 1
push eax
call ebx
test al, al
mov esi, dword [esp + 0x20]
jne 0x1003b373
test esi, esi
je 0x1003ac37
push dword [esp + 0x20]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x1003ac37
xor ebx, ebx
inc ebx
jmp 0x1003ab45
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_number___20_
int3
test eax, eax
je 0x1003ac76
jmp 0x1003aca4
xor eax, eax
dec eax
mov dword [esp + 0xc], eax
jmp 0x1003abae
cmp dword [esp + 0x20], 0
je case.0x1003a74c.3
push dword [esp + 0x20]
jmp 0x1003abf0
mov edi, dword [esp + 0x10]
inc dword [edi + 4]
mov eax, dword [edi]
mov ebx, dword [eax + 4]
mov ecx, ebx
mov dword [esp + 0x18], edx
call dword [section..00cfg]
mov ecx, edi
push 1
push 0x1008f09f
call ebx
mov edx, dword [esp + 0x18]
xor ebx, ebx
test al, al
jne 0x1003ac57
jmp 0x1003a6b1
cmp edi, 0x45
je 0x1003b465
cmp edi, 0x46
je 0x1003ad09
cmp edi, 0x47
je 0x1003a901
jmp 0x1003a960
cmp edi, 0x65
jne 0x1003a960
sub esp, 0x10
lea eax, [esp + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
movsd qword [esp], xmm0
lea ecx, [esp + 0x64]
call sym.mozglue.dll_public:_bool___thiscall_double_conversion::DoubleToStringConverter::ToExponential_double__int__class_double_conversion::StringBuilder__const
jmp 0x1003a92b
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH__
int3