Function at 0x1003f530
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 [0x100a400c]
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 + 4], 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 0x1003f5a0
inc ecx
test esi, esi
jne 0x1003f590
jmp 0x1003f5ed
movzx ebx, byte [ecx + 1]
add ecx, 2
cmp ebx, 0x25
je 0x1003f590
test ebx, ebx
je 0x1003f590
mov eax, ebx
add al, 0xc6
cmp al, 0xf5
jbe 0x1003f5c1
mov bl, byte [ecx]
inc ecx
test bl, bl
jne 0x1003f5b0
jmp 0x1003f590
cmp bl, 0x24
je 0x100401b7
mov edx, 1
test edi, edi
mov edi, 0
je 0x1003f590
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
int3
test edi, edi
jne 0x100402ee
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
test al, al
je 0x1003f9ff
mov ebx, dword [esp + 0x14]
lea ecx, [ebx + 1]
mov dword [esp + 0x14], ecx
cmp al, 0x25
je 0x1003f650
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 ebx
call edi
test al, al
je 0x1003ffe1
mov ebx, dword [esp + 0x14]
movzx eax, byte [ebx]
test al, al
jne 0x1003f607
jmp 0x1003f9ff
lea esi, [ebx + 2]
movzx eax, byte [ebx + 1]
cmp al, 0x25
jne 0x1003f680
mov edi, dword [esp + 0x10]
inc dword [edi + 4]
mov eax, dword [edi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push 1
push dword [esp + 0x18]
call ebx
mov dword [esp + 0x14], esi
jmp 0x1003f62d
cmp dword [esp + 0x84], 0
jne 0x100401d8
xor edx, edx
mov dword [esp + 0x14], esi
movzx ecx, al
add ecx, 0xffffffe0
cmp ecx, 0x10
ja case.0x1003f69f.33
jmp dword [ecx*4 + 0x10092e14]
test dl, 2
jne 0x1004010d
test dl, 1
jne 0x10040157
mov dword [esp + 8], edx
cmp al, 0x2a
je 0x100401ff
mov ecx, eax
add cl, 0xd0
xor edx, edx
cmp cl, 9
jbe 0x1003fa65
mov esi, 0xffffffff
cmp al, 0x2e
je 0x1003f8c3
mov dword [esp + 0xc], esi
mov dword [esp + 0x1c], edx
movzx ecx, al
mov dword [esp + 0x20], 2
mov bl, 1
add ecx, 0xffffffb7
cmp ecx, 0x31
ja case.0x1003f711.74
mov dword [esp + 0x18], 6
mov edi, 1
xor edx, edx
mov esi, dword [esp + 0x14]
jmp dword [ecx*4 + 0x10092e58]
movsx edi, al
lea ecx, [edi - 0x45]
cmp ecx, 0x33
ja case.0x1003f736.72
mov esi, 0x10
mov edx, str.0123456789abcdef
mov eax, 0xa
jmp dword [ecx*4 + 0x10092f20]
or dword [esp + 0x20], 1
jmp case.0x1003f736.100
or dword [esp + 0x20], 1
mov edx, 0x10092d4c
mov eax, 0x10
mov esi, eax
cmp dword [esp + 0x20], 3
mov dword [esp + 0x18], edx
jne 0x1003fa8e
mov edx, dword [esp + 4]
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 + 4], edx
je 0x1004028e
test ecx, ecx
je 0x1003f90e
xor ebx, ebx
mov edi, dword [esp + 0x18]
mov eax, ecx
xor edx, edx
div esi
and edx, 0xf
movzx edx, byte [edi + edx]
mov byte [esp + ebx + 0x18f], dl
dec ebx
cmp ecx, esi
mov ecx, eax
jae 0x1003f791
lea eax, [esp + 0x190]
add eax, ebx
mov dword [esp + 0x38], eax
neg ebx
mov edi, dword [esp + 0xc]
mov dword [esp + 0x18], 0
test byte [esp + 0x20], 1
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 8]
jne 0x1003f800
test cl, 0x10
jne 0x1003fc77
test cl, 2
jne 0x1004015f
mov al, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], 0
test cl, 4
je 0x1003f80e
jmp 0x10040629
mov al, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], 0
test edi, edi
setg cl
mov eax, edi
sub edi, ebx
setg dl
test cl, dl
mov ecx, 0
cmove edi, ecx
mov ecx, ebx
cmovne ecx, eax
add ecx, dword [esp + 0x30]
mov edx, dword [esp + 8]
test dl, 8
jne 0x1003fb28
and edx, 1
mov eax, edx
neg eax
sub esi, ecx
mov ecx, 0
cmovle esi, ecx
and eax, esi
mov dword [esp + 8], eax
test edx, edx
cmovne esi, ecx
inc esi
mov edx, dword [esp + 0x18]
dec esi
test esi, esi
mov eax, dword [esp + 0x20]
jg 0x1003ffb0
test al, al
je 0x1003fc45
inc edi
dec edi
test edi, edi
jg 0x1003ffe8
inc edx
dec edx
test edx, edx
jg 0x1003fa31
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 + 0x3c]
call edi
test al, al
je 0x1003ffe1
inc dword [esp + 8]
mov eax, dword [esp + 8]
dec eax
test eax, eax
jg 0x100402be
mov eax, dword [esp + 0x14]
jmp 0x1003f5f8
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x2a
je 0x10040633
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, eax
add cl, 0xd0
xor esi, esi
cmp cl, 9
ja 0x1003f6e1
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 0x1003f8e8
jmp 0x1003f6e1
mov byte [esp + 0x18f], 0x30
lea eax, [esp + 0x18f]
mov dword [esp + 0x38], eax
xor ebx, ebx
inc ebx
jmp 0x1003f7bf
test bl, bl
je case.0x1003f736.83
mov eax, dword [esp + 4]
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 4], eax
mov dword [esp + 0x40], ecx
mov esi, dword [esp + 0xc]
test esi, esi
je case.0x1003fa9b.3
test ecx, ecx
mov eax, str._null_
cmove ecx, eax
mov dword [esp + 0x20], ecx
push ecx
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 + 0x1c]
sub eax, ebx
test byte [esp + 8], 1
mov dword [esp + 0xc], eax
je 0x1003fac4
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 0x1003ffe1
test byte [esp + 8], 1
mov ebx, dword [esp + 0xc]
je case.0x1003fa9b.3
test ebx, ebx
jle case.0x1003fa9b.3
inc ebx
dec ebx
test ebx, ebx
jle case.0x1003fa9b.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 0x1003f9cb
jmp 0x1003ffe1
mov bl, 1
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x8c]
cmp eax, ecx
jne 0x1004055c
mov ecx, dword [esp + 0x2c8]
xor ecx, ebp
call fcn.1004f020
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov edi, dword [esp + 0x10]
inc dword [edi + 4]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov dword [esp + 0x18], edx
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
push 1
push 0x10096fb6
call esi
mov edx, dword [esp + 0x18]
test al, al
jne 0x1003f87b
jmp 0x1003ffe1
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 0x1003f6d4
jmp 0x1003fa67
mov eax, dword [esp + 0x20]
cmp eax, 0xf
ja case.0x1003fa9b.3
jmp dword [eax*4 + 0x10092ff0]
mov edx, dword [esp + 4]
mov ecx, dword [edx]
mov dword [esp + 0x40], ecx
test ecx, ecx
jns 0x1003f76e
neg ecx
mov dword [esp + 0x40], ecx
or dword [esp + 8], 0x10
jmp 0x1003f76e
test eax, eax
jle 0x1003f98e
test byte [esp + 8], 8
je 0x1003fadb
mov byte [esp + 0x12c], 0x30
mov esi, dword [esp + 0x1c]
sub esi, ebx
inc esi
mov eax, esi
dec eax
test eax, eax
jle 0x10040694
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 0x1003fae2
jmp 0x1003ffe1
or dword [esp + 0x20], 1
jmp 0x1003f74e
test eax, eax
sets al
mov edx, esi
sub edx, ecx
mov dword [esp + 0x18], edx
setg dl
test al, dl
mov edx, dword [esp + 8]
mov eax, 0
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x18]
cmove ebx, eax
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0xc]
cmovne ecx, esi
jmp 0x1003f83a
mov eax, dword [esp + 0x14]
lea esi, [eax + 1]
mov al, byte [eax]
mov dword [esp + 0x20], 4
cmp al, 0x6c
je 0x1003fc90
mov dword [esp + 0x14], esi
xor ebx, ebx
jmp case.0x1003f711.74
mov eax, dword [esp + 4]
movsd xmm0, qword [eax]
movaps xmmword [esp + 0x20], xmm0
add eax, 8
mov dword [esp + 4], 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, 0x10096c9f
mov edx, 0x100964b0
cmove edx, ecx
mov ecx, 0x10096b99
mov esi, 0x10095784
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 [0x10092250]
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 ecx, dword [esp + 8]
mov ebx, ecx
or ebx, 0x10
test eax, eax
je 0x1003fdb2
movaps xmm0, xmmword [esp + 0x20]
andps xmm0, xmmword [0x10092d20]
jmp 0x1003fdb7
mov eax, dword [esp + 0x10]
inc dword [eax + 4]
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
lea eax, [esp + 0x54]
mov ecx, dword [esp + 0x10]
push 1
push eax
call esi
mov edx, dword [esp + 0x18]
test al, al
jne 0x1003f870
jmp 0x1003ffe1
mov byte [esp + 0x54], 0x2d
xor eax, eax
inc eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], 0
jmp 0x1003f80e
mov edi, 2
mov dword [esp + 0x18], 6
xor edx, edx
add dword [esp + 0x14], edi
mov al, byte [esi]
mov ebx, edx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
jmp case.0x1003f711.74
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 4], ecx
mov dword [esp + 0x40], eax
sub esp, 0x20
xor esi, esi
mov dword [esp + 0x1c], esi
movaps xmm0, xmmword [0x10092b10]
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]
test eax, eax
je 0x100406ea
push eax
mov ebx, eax
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 0x1004072e
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 edi, eax
cmovg edi, esi
test esi, esi
cmovle edi, eax
mov byte [esp + 0x12c], 0x20
mov eax, dword [esp + 0x1c]
sub eax, edi
test byte [esp + 8], 1
mov dword [esp + 0xc], eax
jne 0x1003fd5e
test eax, eax
jg 0x10040734
mov esi, dword [esp + 0x10]
add dword [esi + 4], edi
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
push edi
mov esi, dword [esp + 0x24]
push esi
call ebx
test al, al
je 0x100407bf
test byte [esp + 8], 1
mov edi, dword [esp + 0xc]
je 0x1003fd97
test edi, edi
jg 0x1004078b
test esi, esi
je case.0x1003fa9b.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 0x1003f5f8
movaps xmm0, xmmword [esp + 0x20]
movaps xmmword [esp + 0x20], xmm0
cmove ebx, ecx
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 0x100400d2
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 0x100406ba
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 + 0x28]
push edi
call fcn.10010b80
add esp, 0x14
mov ecx, dword [esp + 0x50]
test ecx, ecx
jns 0x100406c1
test al, al
jne case.0x1003fa9b.3
jmp 0x1003ffe1
mov eax, dword [esp + 4]
lea ebx, [eax + 8]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov eax, ecx
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], 6
test edi, edi
js 0x10040115
mov ecx, ebx
cmp dword [esp + 0xc], 0
jne 0x1003fea6
mov ebx, eax
or eax, edi
mov eax, ebx
je 0x100406ce
mov dword [esp + 4], eax
or eax, edi
je 0x1003ff71
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x18], edx
xor ebx, ebx
lea ecx, [esp + 0x190]
mov eax, dword [esp + 4]
mov dword [esp + 4], eax
mov dword [esp + 0x20], ecx
push 0
push esi
push edi
push eax
call fcn.1004fde0
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], edx
mov ecx, eax
imul ecx, esi
mov edx, ebx
mov eax, dword [esp + 4]
mov ebx, eax
sub ebx, ecx
and ebx, 0xf
mov ecx, dword [esp + 0x18]
mov cl, byte [ecx + ebx]
mov ebx, edx
mov edx, dword [esp + 0x20]
mov byte [edx - 1], cl
mov ecx, dword [esp + 0x20]
dec ecx
inc ebx
cmp eax, esi
sbb edi, 0
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
jae 0x1003fec7
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov edx, ecx
mov ecx, dword [esp + 0x10]
push dword [esp + 8]
push eax
push dword [esp + 0x14]
push dword [esp + 0x28]
push ebx
call fcn.10010b80
add esp, 0x14
test al, al
jne case.0x1003fa9b.3
jmp 0x1003ffe1
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
add ecx, 4
xor edi, edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x34], 0xb
jmp 0x1003fe93
mov dword [esp + 4], ecx
mov byte [esp + 0x18f], 0x30
xor ebx, ebx
inc ebx
lea edx, [esp + 0x18f]
mov eax, dword [esp + 0x34]
jmp 0x1003ff26
mov eax, dword [esp + 4]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
lea ecx, [eax + 8]
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], 7
mov eax, ebx
jmp 0x1003fe93
mov eax, dword [esp + 0x10]
inc dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0xc], ecx
call dword [section..00cfg]
mov ecx, dword [esp + 0x10]
push 1
push 0x10098faa
call dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test al, al
jne 0x1003f85b
xor ebx, ebx
jmp 0x1003fa01
mov eax, dword [esp + 0x10]
inc dword [eax + 4]
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, dword [esp + 0x10]
push 1
push 0x10096fb6
call esi
mov edx, dword [esp + 0x18]
test al, al
jne 0x1003f871
jmp 0x1003ffe1
test byte [esp + 8], 1
jne 0x10040816
xor esi, esi
inc esi
mov edi, dword [esp + 0x1c]
test edi, edi
cmovle esi, edi
dec esi
inc edi
dec edi
cmp edi, 2
jge 0x10040823
mov ecx, dword [esp + 4]
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x20]
cmp eax, 2
jne 0x10040855
mov al, byte [ecx]
lea edx, [esp + 0x40]
mov byte [edx], al
mov edi, dword [esp + 0x10]
inc dword [edi + 4]
mov eax, dword [edi]
mov esi, ecx
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push 1
lea eax, [esp + 0x44]
push eax
call ebx
test al, al
je 0x1003ffe1
add esi, 4
mov ecx, esi
mov eax, dword [esp + 8]
mov dword [esp + 4], ecx
test al, 1
je case.0x1003fa9b.3
mov eax, dword [esp + 0x1c]
inc eax
dec eax
cmp eax, 2
jl case.0x1003fa9b.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 0x10098faa
call ebx
xor ebx, ebx
test al, al
mov eax, edi
jne 0x1004009a
jmp 0x1003fa01
movaps xmm0, xmmword [esp + 0x20]
xor eax, eax
cmp edi, 0x64
jle 0x10040862
cmp edi, 0x66
jne 0x1004087e
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 0x1003fe1d
and edx, 0xfffffffb
jmp 0x1003f6af
mov dword [esp + 0x3c], ebx
mov ecx, eax
xor eax, eax
neg ecx
sbb eax, edi
mov dword [esp + 4], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
or dword [esp + 8], 0x10
mov dword [esp + 0x34], 6
mov edi, eax
jmp 0x1003feb6
mov dword [esp + 0x18], 2
mov dl, 1
xor edi, edi
inc edi
mov esi, dword [esp + 0x14]
jmp case.0x1003f711.76
and edx, 0xfffffff7
jmp 0x1003f6b8
mov byte [esp + 0x54], 0x2b
jmp 0x1003fc7c
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 0x10098f48
call edi
test al, al
je 0x1003ffe1
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 0x1003ff40
test edx, edx
jne 0x100401c3
inc edi
xor edx, edx
jmp 0x1003f590
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
int3
mov ecx, ebx
mov esi, ebx
add esi, 3
xor ecx, ecx
test al, al
je 0x10040236
movzx edx, al
cmp edx, 0x24
je 0x10040236
movsx eax, al
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2]
add ecx, 0xffffffd0
mov al, byte [esi - 1]
inc esi
jmp 0x100401e1
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 4]
mov esi, dword [ecx]
add ecx, 4
mov dword [esp + 4], ecx
mov edx, esi
test esi, esi
jns 0x1003f6d4
neg edx
mov ecx, dword [esp + 8]
and ecx, 0xfffffff6
or ecx, 1
mov dword [esp + 8], ecx
jmp 0x1003f6d4
mov eax, dword [esp + 0x80]
cmp dword [eax + ecx*8 - 8], 0x14
je 0x1004056b
mov eax, dword [eax + ecx*8 - 4]
mov dword [esp + 4], eax
mov al, byte [esi - 1]
jmp 0x1003f68e
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 4], ecx
mov dword [esp + 0x40], eax
test eax, eax
je case.0x1003fa9b.3
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
mov dword [eax], ecx
jmp case.0x1003fa9b.3
or dword [esp + 0x20], 1
mov eax, 8
jmp case.0x1003f736.100
xor eax, eax
mov ecx, dword [esp + 0x10]
mov edx, 0x1009a3a8
push dword [esp + 8]
push dword [esp + 0x24]
push eax
push dword [esp + 0x28]
xor ebx, ebx
push eax
call fcn.10010b80
add esp, 0x14
test al, al
jne case.0x1003fa9b.3
jmp 0x1003fa01
mov dword [esp + 8], eax
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 0x10098faa
call edi
test al, al
jne 0x1003f8ad
jmp 0x1003ffe1
cmp edi, 0x15
jae 0x10040801
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 0x10040300
mov eax, dword [ebp + 8]
mov esi, eax
movzx ecx, byte [eax]
cmp ecx, 0x25
je 0x1004032c
inc esi
mov eax, esi
test ecx, ecx
jne 0x10040316
jmp 0x10040580
lea eax, [esi + 2]
mov cl, byte [esi + 1]
cmp cl, 0x25
je 0x10040316
add esi, 3
xor edx, edx
test cl, cl
je 0x1004035a
movzx ebx, cl
cmp ebx, 0x24
je 0x1004035a
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 0x1004033c
test cl, cl
je 0x100408be
test edx, edx
je 0x100408be
cmp edx, edi
ja 0x100408be
mov ecx, dword [esp + 0x80]
mov dword [esp + 8], ecx
cmp dword [ecx + edx*8 - 8], 0x14
jne 0x10040316
mov bl, byte [esi - 1]
movzx eax, bl
lea ecx, [eax - 0x2a]
cmp ecx, 6
ja case.default.0x10040392
jmp dword [ecx*4 + 0x10092d60]
inc esi
jmp 0x10040384
cmp eax, 0x20
je case.0x10040392.43
mov eax, ebx
add al, 0xd0
cmp al, 9
ja 0x100403b4
mov bl, byte [esi]
inc esi
mov eax, ebx
add al, 0xd0
cmp al, 0xa
jb 0x100403a9
cmp bl, 0x2e
jne 0x100403d8
mov bl, byte [esi]
cmp bl, 0x2a
je 0x100408e8
inc esi
mov eax, ebx
add al, 0xd0
cmp al, 9
ja 0x100403d8
mov bl, byte [esi]
inc esi
mov eax, ebx
add al, 0xd0
cmp al, 0xa
jb 0x100403cd
mov eax, dword [esp + 8]
mov dword [eax + edx*8 - 8], 2
movzx ecx, bl
mov dword [esp + 8], 6
cmp ecx, 0x69
jle 0x1004042e
cmp ecx, 0x73
jg 0x10040471
cmp ecx, 0x6a
je 0x10040483
cmp ecx, 0x6c
jne 0x100404a1
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 0x1004048c
jmp 0x100404a3
cmp ecx, 0x49
je 0x1004047b
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
mov eax, esi
cmp ecx, 0x4c
je 0x1004048c
cmp ecx, 0x68
jne 0x100404a1
mov eax, dword [esp + 0x80]
mov dword [eax + edx*8 - 8], 0
lea eax, [esi + 1]
mov bl, byte [esi]
cmp bl, 0x68
jne 0x100404a3
mov dword [esp + 0x20], 2
mov dword [esp + 8], 0xe
jmp 0x1004048c
cmp ecx, 0x74
je 0x1004047b
cmp ecx, 0x7a
jne 0x100404a1
mov dword [esp + 8], 2
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
mov eax, esi
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 8]
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 0x100404c8
add ecx, 0xffffff9d
cmp ecx, 0x15
ja case.0x100404b3.104
jmp dword [ecx*4 + 0x10092d7c]
mov ecx, dword [esp + 0x80]
or dword [ecx + edx*8 - 8], 1
jmp case.0x100404b3.99
lea esi, [ecx - 0x45]
cmp esi, 3
jae 0x100404f6
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 0x10040316
jmp 0x100408d3
cmp ecx, 0x53
je 0x1004054b
cmp ecx, 0x58
je case.0x100404b3.111
mov ecx, dword [esp + 0x80]
mov dword [ecx + edx*8 - 8], 0x14
jmp case.0x100404b3.99
mov ecx, dword [esp + 0x80]
mov dword [ecx + edx*8 - 8], 0xa
jmp case.0x100404b3.99
mov ecx, dword [esp + 0x80]
mov dword [ecx + edx*8 - 8], 0xb
jmp case.0x100404b3.99
mov ecx, dword [esp + 0x80]
cmp dword [ecx + edx*8 - 8], 4
je 0x10040552
mov dword [ecx + edx*8 - 8], 9
jmp case.0x100404b3.99
mov ecx, dword [esp + 0x80]
mov dword [ecx + edx*8 - 8], 0xc
jmp case.0x100404b3.99
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x1003fa17
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.0x100405b3.13
jmp dword [esi*4 + 0x10092dd4]
add dword [esp + 0x12c], 4
add eax, 8
dec ecx
jne 0x10040595
jmp 0x1003f5f5
add dword [esp + 0x12c], 8
jmp 0x100405c2
or edx, 1
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 edx, ecx
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
inc ecx
mov dword [esp + 0x14], ecx
jmp 0x1003f694
mov eax, dword [esp + 0x14]
lea esi, [eax + 1]
mov al, byte [eax]
cmp al, 0x68
jne 0x1004064f
mov dword [esp + 0x18], 0xe
mov edi, 2
jmp 0x1003fc9d
mov byte [esp + 0x54], 0x20
jmp 0x1003fc7c
mov al, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 4]
mov esi, dword [ecx]
add ecx, 4
mov dword [esp + 4], ecx
jmp 0x1003f6e1
mov dword [esp + 0x14], esi
xor ebx, ebx
mov dword [esp + 0x20], 0
jmp case.0x1003f711.74
mov eax, dword [esp + 4]
mov eax, dword [eax]
movsx ecx, al
shl eax, 0x18
mov dword [esp + 0x40], ecx
jns 0x1004067f
neg ecx
mov dword [esp + 0x40], ecx
or dword [esp + 8], 0x10
mov edx, dword [esp + 4]
jmp 0x1003f76e
mov edx, dword [esp + 4]
movzx ecx, byte [edx]
jmp 0x1003f76a
xor eax, eax
dec eax
mov dword [esp + 0xc], eax
jmp 0x1003f98e
mov eax, dword [esp + 4]
mov eax, dword [eax]
movsx ecx, ax
shl eax, 0x10
jmp 0x1004066e
mov edx, dword [esp + 4]
movzx ecx, word [edx]
jmp 0x1003f76a
xor eax, eax
jmp 0x1003fe52
mov edx, dword [esp + 0x48]
mov byte [edx + ecx], 0
jmp 0x1003fe5e
mov dword [esp + 4], ecx
xor eax, eax
mov ecx, dword [esp + 0x10]
mov edx, 0x1009a3a8
push dword [esp + 8]
push dword [esp + 0x38]
jmp 0x100402a1
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x459
jne 0x100407d9
cmp dword [esp + 0xc], 0
je case.0x1003fa9b.3
mov eax, dword [esp + 0xc]
cmp eax, 0x1a
mov edx, 0x1a
cmovb edx, eax
mov ecx, dword [esp + 0x10]
push dword [esp + 8]
push dword [esp + 0x20]
call fcn.1007b690
add esp, 8
jmp 0x1003ff40
push edi
jmp 0x1003fda0
test byte [esp + 8], 8
je 0x10040743
mov byte [esp + 0x12c], 0x30
mov eax, dword [esp + 0x1c]
sub eax, edi
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x100407e1
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 0x1004074e
jmp 0x100407bf
inc edi
mov eax, edi
dec eax
test eax, eax
jle 0x100407ed
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 0x1004078c
test esi, esi
je 0x1003ffe1
push dword [esp + 0x20]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x1003ffe1
xor eax, eax
inc eax
jmp 0x1003fcf3
xor eax, eax
dec eax
mov dword [esp + 0xc], eax
jmp 0x1003fd5e
cmp dword [esp + 0x20], 0
je case.0x1003fa9b.3
push dword [esp + 0x20]
jmp 0x1003fda0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_number___20_
int3
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x1c]
jmp 0x1004003e
mov ebx, dword [esp + 0x10]
inc dword [ebx + 4]
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
mov dword [esp + 0xc], ecx
call dword [section..00cfg]
mov ecx, ebx
push 1
push 0x10098faa
call dword [esp + 0x14]
xor ebx, ebx
test al, al
jne 0x10040030
jmp 0x1003fa01
test eax, eax
je 0x1004004f
jmp 0x10040085
cmp edi, 0x45
je 0x10040887
cmp edi, 0x46
je 0x100400eb
cmp edi, 0x47
je 0x1003fdf3
jmp 0x1003fe52
cmp edi, 0x65
jne 0x1003fe52
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 0x1003fe1d
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