Function at 0x10043170
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 eax, dword [ebp + 0xc]
mov dword [esp + 0x10], ecx
mov esi, dword [ebp + 8]
lea ecx, [esp + 0x8c]
xor edx, edx
mov dword [esp + 8], eax
mov eax, dword [0x1007a00c]
xor eax, ebp
mov dword [esp + 0x2c8], eax
xor eax, eax
mov dword [esp + 0xc], esi
mov dword [ecx - 8], eax
mov dword [ecx - 4], 0x14
mov dword [ecx - 0xc], ecx
mov ecx, esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
nop word cs:[eax + eax]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, 0x25
je 0x100431e0
inc ecx
test bl, bl
jne 0x100431d0
jmp 0x1004322c
mov bl, byte [ecx + 1]
add ecx, 2
cmp bl, 0x25
je 0x100431d0
test bl, bl
je 0x100431d0
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jae 0x10043200
mov bl, byte [ecx]
inc ecx
jmp 0x100431eb
cmp bl, 0x24
je 0x10043dda
test eax, eax
mov edx, 1
mov eax, 0
je 0x100431d0
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
mov ecx, 0x1c1
int3
test eax, eax
jne 0x10043f2a
mov esi, dword [esp + 0xc]
lea eax, [esi + 1]
mov ebx, esi
mov dword [esp + 4], eax
movzx eax, byte [esi]
cmp al, 0x25
je 0x10043280
test al, al
je 0x100436e4
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
mov esi, dword [esp + 4]
test al, al
jne 0x10043238
jmp 0x10043ef9
mov eax, ebx
movzx eax, byte [ebx + 1]
lea esi, [ebx + 2]
cmp al, 0x25
je 0x10043550
cmp dword [esp + 0x84], 0
jne 0x10043dea
mov dword [esp + 4], 0
mov dword [esp + 0xc], esi
mov ecx, eax
add cl, 0xe0
cmp cl, 0x10
ja 0x10043300
movzx ecx, cl
mov edx, 0x12801
bt edx, ecx
jae 0x10043300
mov edx, dword [esp + 4]
xor ecx, ecx
cmp al, 0x2d
sete cl
or edx, ecx
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, dword [esp + 0xc]
mov dword [esp + 4], ecx
mov al, byte [edx]
inc edx
mov dword [esp + 0xc], edx
jmp 0x100432ab
mov ecx, dword [esp + 4]
and ecx, 2
jne 0x10043cb0
mov ecx, dword [esp + 4]
and ecx, 1
jne 0x10043d43
cmp al, 0x2a
je 0x10043e09
mov ecx, eax
xor edx, edx
add cl, 0xd0
cmp cl, 9
jbe 0x1004357b
mov ebx, 0xffffffff
cmp al, 0x2e
mov dword [esp + 0x14], edx
je 0x10043507
mov edx, eax
mov cl, 1
mov dword [esp + 0x20], 2
add dl, 0xb7
cmp dl, 0x31
ja case.0x1004335a.182
movzx edx, dl
jmp dword [edx*4 + 0x1006c524]
movsx esi, al
lea edx, [esi - 0x45]
cmp edx, 0x33
ja case.0x10043382.72
mov edi, 0x10
mov dword [esp + 0x18], str.0123456789abcdef
mov eax, 0xa
jmp dword [edx*4 + 0x1006c5ec]
or dword [esp + 0x20], 1
jmp case.0x10043382.100
or dword [esp + 0x20], 1
mov dword [esp + 0x18], 0x1006c45c
mov eax, 0x10
cmp dword [esp + 0x20], 3
mov edi, eax
mov dword [esp + 0x1c], ebx
jne 0x10043716
mov esi, dword [esp + 8]
mov ecx, dword [esi]
add esi, 4
mov dword [esp + 0x40], ecx
mov eax, ecx
mov dword [esp + 8], esi
or eax, ebx
je 0x10043e62
test ecx, ecx
je 0x100434ee
mov esi, dword [esp + 0x18]
xor ebx, ebx
mov eax, ecx
xor edx, edx
div edi
and edx, 0xf
movzx edx, byte [esi + edx]
mov byte [esp + ebx + 0x191], dl
dec ebx
cmp ecx, edi
mov ecx, eax
jae 0x100433dc
lea eax, [esp + 0x192]
lea edx, [eax + ebx]
neg ebx
xor eax, eax
test byte [esp + 0x20], 1
mov cl, 1
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], ecx
jne 0x10043435
mov ecx, dword [esp + 4]
test cl, 0x10
jne 0x10043bd4
test cl, 2
jne 0x10043d39
test cl, 4
jne 0x10044233
mov edi, dword [esp + 0x1c]
test edi, edi
mov esi, edi
setg cl
sub esi, ebx
setg dl
and dl, cl
mov ecx, edi
test dl, 1
jne 0x10043452
xor esi, esi
mov ecx, ebx
add eax, ecx
xor edi, edi
test byte [esp + 4], 8
mov edx, dword [esp + 0x14]
jne 0x10043648
sub edx, eax
setg al
test al, 1
jne 0x10043470
xor edx, edx
mov eax, dword [esp + 4]
xor ecx, ecx
and eax, 1
jne 0x10043e90
mov dword [esp + 4], ecx
test eax, eax
mov ecx, 0
cmovne edx, ecx
inc edx
dec edx
test edx, edx
jg 0x10043e97
cmp byte [esp + 0x18], 0
je 0x10043ba2
inc esi
dec esi
test esi, esi
jg 0x10043b70
inc edi
dec edi
test edi, edi
jg 0x100437e4
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
mov ecx, dword [esp + 4]
test al, al
je 0x10043ef9
inc ecx
dec ecx
test ecx, ecx
jle case.0x10043725.3
jmp 0x10043ece
xor ebx, ebx
lea eax, [esp + 0x191]
mov byte [esp + 0x191], 0x30
mov edx, eax
inc ebx
jmp 0x10043403
mov ecx, dword [esp + 0xc]
mov al, byte [ecx]
cmp al, 0x2a
je 0x10044250
mov edx, eax
inc ecx
xor ebx, ebx
add dl, 0xd0
mov dword [esp + 0xc], ecx
cmp dl, 9
ja 0x10043343
xor ebx, ebx
movzx eax, al
lea ecx, [ebx + ebx*4]
lea ebx, [eax + ecx*2 - 0x30]
mov ecx, dword [esp + 0xc]
mov al, byte [ecx]
inc ecx
mov dword [esp + 0xc], ecx
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
jb 0x1004352c
jmp 0x10043343
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 + 8]
call ebx
test al, al
jne 0x10043238
jmp 0x10043ef9
xor edx, edx
movzx eax, al
lea ecx, [edx + edx*4]
lea edx, [eax + ecx*2 - 0x30]
mov ecx, dword [esp + 0xc]
mov al, byte [ecx]
inc ecx
mov dword [esp + 0xc], ecx
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
jae 0x10043332
jmp 0x1004357d
or dword [esp + 0x20], 1
jmp 0x1004339d
test cl, cl
je case.0x10043382.83
mov eax, dword [esp + 8]
mov ecx, dword [eax]
add eax, 4
test ebx, ebx
mov dword [esp + 8], eax
mov dword [esp + 0x40], ecx
je case.0x10043725.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, ebx
mov ecx, ebx
mov ebx, eax
mov byte [esp + 0x12e], 0x20
cmovg ebx, ecx
test ecx, ecx
cmovle ebx, eax
mov eax, dword [esp + 0x14]
sub eax, ebx
test byte [esp + 4], 1
mov dword [esp + 0x18], eax
je 0x1004374d
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 0x10043ef9
test byte [esp + 4], 1
mov ebx, dword [esp + 0x18]
je case.0x10043725.3
jmp 0x100437a7
cmp dword [esp + 0x1c], 0
mov edi, edx
sets cl
sub edi, eax
setg dl
test cl, dl
mov edx, dword [esp + 0x14]
mov ecx, 0
cmove edi, ecx
cmovne eax, edx
jmp 0x10043465
mov dword [esp + 0x20], edx
push 0
push edi
push edx
push esi
call fcn.1006a070
mov ecx, eax
mov dword [esp + 8], edx
mov edx, eax
mov eax, esi
inc dword [esp + 0x34]
imul ecx, edi
sub esi, ecx
mov ecx, dword [esp + 0x18]
and esi, 0xf
mov cl, byte [ecx + esi]
mov esi, edx
mov edx, dword [esp + 8]
mov byte [ebx - 1], cl
dec ebx
cmp eax, edi
sbb dword [esp + 0x20], 0
jae 0x1004366d
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
mov edx, ebx
push dword [esp + 4]
push esi
push dword [esp + 0x24]
push dword [esp + 0x20]
push eax
call fcn.100429e0
add esp, 0x14
test al, al
jne case.0x10043725.3
jmp 0x10043ef9
mov bl, 1
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x8c]
cmp eax, ecx
jne 0x100441a8
mov ecx, dword [esp + 0x2c8]
xor ecx, ebp
call fcn.10069260
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
cmp dword [esp + 0x20], 0xf
ja case.0x10043725.3
mov eax, dword [esp + 0x20]
jmp dword [eax*4 + 0x1006c6bc]
mov esi, dword [esp + 8]
mov ecx, dword [esi]
add esi, 4
test ecx, ecx
mov dword [esp + 0x40], ecx
jns 0x100433c0
or dword [esp + 4], 0x10
neg ecx
jmp 0x100433bc
test eax, eax
jle 0x1004360f
test byte [esp + 4], 8
je 0x10043764
mov byte [esp + 0x12e], 0x30
mov esi, dword [esp + 0x14]
sub esi, ebx
inc esi
mov eax, esi
dec eax
test eax, eax
jle 0x100442ac
mov edi, dword [esp + 0x10]
mov esi, eax
inc dword [edi + 4]
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
call dword [section..00cfg]
mov ecx, edi
push 1
lea eax, [esp + 0x132]
push eax
call dword [esp + 0x1c]
test al, al
jne 0x1004376b
jmp 0x10043ef9
test ebx, ebx
jle case.0x10043725.3
inc ebx
dec ebx
test ebx, ebx
jle case.0x10043725.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]
mov ecx, esi
push 1
lea eax, [esp + 0x132]
push eax
call edi
test al, al
jne 0x100437b0
jmp 0x10043ef9
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 0x1006ef56
call dword [esp + 0x28]
test al, al
jne 0x100434ad
jmp 0x10043ef9
mov ecx, dword [esp + 0xc]
mov al, byte [ecx]
cmp al, 0x6c
jne 0x10043cf3
mov al, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0xc], ecx
mov dword [esp + 0x20], 6
xor ecx, ecx
jmp case.0x1004335a.182
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov esi, dword [eax + 4]
add eax, 8
mov edx, esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], ecx
mov esi, 7
mov ecx, eax
test ebx, ebx
jne 0x1004386c
mov eax, dword [esp + 0x20]
or eax, edx
je 0x100442b8
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ebx
or eax, edx
je 0x10043b30
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ecx
mov esi, dword [esp + 0x20]
lea ebx, [esp + 0x192]
mov dword [esp + 0x34], 0
jmp 0x1004366d
mov eax, dword [esp + 8]
mov dword [esp + 0x1c], ebx
movsd xmm0, qword [eax]
add eax, 8
mov dword [esp + 8], eax
movaps xmmword [esp + 0x20], xmm0
movsd qword [esp + 0x40], xmm0
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
add esp, 4
test eax, eax
mov eax, 0x1006e5c0
mov ecx, 0x1006eca2
mov dword [esp + 0x54], 0x19
cmove eax, ecx
mov ecx, 0x1006ebdc
mov dword [esp + 0x58], eax
mov eax, 0x1006dc7f
cmove eax, ecx
mov dword [esp + 0x5c], eax
setne al
xor ecx, ecx
shl al, 5
or al, 0x45
mov byte [esp + 0x60], al
lea eax, [esp + 0x12e]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], 4
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], 2
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0x19a
mov dword [esp + 0x50], ecx
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 0x10043a6a
movaps xmm0, xmmword [esp + 0x20]
andps xmm0, xmmword [0x1006c430]
jmp 0x10043a6f
mov ecx, dword [esp + 8]
xor edi, edi
mov dword [esp + 0x1c], ebx
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 8], ecx
mov dword [esp + 0x40], eax
push edi
push edi
push edi
push edi
push 0xffffffffffffffff
push eax
push edi
push edi
mov eax, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
call eax
mov ebx, eax
test eax, eax
je 0x100442f4
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov esi, eax
push edi
push edi
push ebx
push eax
push 0xffffffffffffffff
push dword [esp + 0x54]
push edi
push edi
call dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov edi, dword [esp + 0x1c]
mov byte [ebx + esi - 1], 0
mov dword [esp + 0x20], esi
test edi, edi
je 0x100442ed
test esi, esi
mov eax, str._null_
cmove esi, eax
mov dword [esp + 0x18], esi
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, edi
mov ebx, eax
mov byte [esp + 0x12e], 0x20
cmovg ebx, edi
test edi, edi
cmovle ebx, eax
mov eax, dword [esp + 0x14]
sub eax, ebx
test byte [esp + 4], 1
mov dword [esp + 0x1c], eax
jne 0x10043a0f
test eax, eax
jg 0x10044344
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 + 0x1c]
call edi
test al, al
je 0x1004433d
test byte [esp + 4], 1
mov ebx, dword [esp + 0x1c]
je 0x10043a47
test ebx, ebx
jg 0x10044394
mov cl, 1
mov ebx, ecx
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10043a5d
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
test bl, bl
jne case.0x10043725.3
jmp 0x10043ef9
movaps xmm0, xmmword [esp + 0x20]
cmove ebx, dword [esp + 4]
lea eax, [esp + 0x78]
movaps xmmword [esp + 0x20], xmm0
movsd qword [esp + 0x78], xmm0
push eax
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dtest]
add esp, 4
mov edi, ebx
and edi, 0xfffffff7
test ax, ax
mov eax, 6
cmovle edi, ebx
mov ebx, dword [esp + 0x1c]
test ebx, ebx
cmovs ebx, eax
cmp esi, 0x67
mov eax, 0
jne 0x10043cba
test ebx, ebx
mov eax, ebx
mov ecx, 1
cmove eax, ecx
sub esp, 0x10
movaps xmm0, xmmword [esp + 0x30]
lea ecx, [esp + 0x58]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x64]
movsd qword [esp], xmm0
call sym.mozglue.dll_public:_bool___thiscall_double_conversion::DoubleToStringConverter::ToPrecision_double__int__class_double_conversion::StringBuilder__const
test al, al
je 0x100442d1
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x10]
mov byte [eax + esi], 0
mov dword [esp + 0x50], 0xffffffff
mov edx, dword [esp + 0x48]
push edi
push 8
push ebx
push dword [esp + 0x20]
push esi
call fcn.100429e0
add esp, 0x14
mov edx, dword [esp + 0x50]
test edx, edx
jns 0x100442d8
test al, al
jne case.0x10043725.3
jmp 0x10043ef9
xor eax, eax
lea ebx, [esp + 0x191]
mov dword [esp + 8], ecx
mov byte [esp + 0x191], 0x30
inc eax
jmp 0x100436bb
mov ecx, dword [esp + 8]
xor edx, edx
mov esi, 0xb
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 0x44], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], eax
jmp 0x1004385c
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 0x1006ef56
call dword [esp + 0x28]
test al, al
jne 0x100434a3
jmp 0x10043ef9
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
lea eax, [esp + 0x58]
push eax
call dword [esp + 0x28]
test al, al
jne 0x100434a2
jmp 0x10043ef9
mov byte [esp + 0x54], 0x2d
xor eax, eax
mov dword [esp + 0x18], 0
inc eax
jmp 0x10043435
test byte [esp + 4], 1
jne 0x10043d4d
mov edx, dword [esp + 0x14]
mov esi, 1
cmp edx, 2
cmovl esi, edx
inc edx
dec esi
dec edx
cmp edx, 2
jge 0x100443e8
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 8]
mov dword [esp + 0x14], esi
cmp eax, 2
jne 0x100443db
mov al, byte [edi]
mov esi, dword [esp + 0x10]
mov byte [esp + 0x40], al
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
lea eax, [esp + 0x44]
push eax
call ebx
test al, al
je 0x10043ef9
add edi, 4
mov dword [esp + 8], edi
test byte [esp + 4], 1
je case.0x10043725.3
mov eax, dword [esp + 0x14]
inc eax
dec eax
cmp eax, 2
jl case.0x10043725.3
mov esi, dword [esp + 0x10]
mov edi, eax
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 0x10070c91
call ebx
xor ebx, ebx
test al, al
mov eax, edi
jne 0x10043c68
jmp 0x100436e6
mov edx, dword [esp + 0xc]
mov al, byte [edx]
inc edx
mov dword [esp + 0xc], edx
jmp case.0x1004335a.182
and dword [esp + 4], 0xfffffffb
jmp 0x1004330d
movaps xmm0, xmmword [esp + 0x20]
cmp esi, 0x64
jle 0x1004441e
cmp esi, 0x66
jne 0x1004443a
sub esp, 0x10
lea eax, [esp + 0x58]
lea ecx, [esp + 0x64]
mov dword [esp + 8], ebx
movsd qword [esp], xmm0
mov dword [esp + 0xc], eax
call sym.mozglue.dll_public:_bool___thiscall_double_conversion::DoubleToStringConverter::ToFixed_double__int__class_double_conversion::StringBuilder__const
jmp 0x10043ae2
inc ecx
mov dword [esp + 0x20], 4
mov dword [esp + 0xc], ecx
jmp 0x10043834
mov eax, dword [esp + 8]
mov esi, 6
lea ecx, [eax + 8]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x40], edx
mov edx, eax
test eax, eax
mov dword [esp + 0x44], eax
js 0x10044465
mov ecx, dword [esp + 0x38]
jmp 0x1004385c
mov byte [esp + 0x54], 0x2b
jmp 0x10043bd9
and dword [esp + 4], 0xfffffff7
jmp 0x1004331a
mov esi, dword [esp + 0x14]
jmp 0x10043c0f
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 0x10070c5b
call edi
test al, al
je 0x10043ef9
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
inc dword [ebx + 4]
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 0x100436d7
or dword [esp + 0x20], 1
mov eax, 8
jmp case.0x10043382.100
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 8], ecx
test eax, eax
mov dword [esp + 0x40], eax
je case.0x10043725.3
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
mov dword [eax], ecx
jmp case.0x10043725.3
test edx, edx
jne 0x10043f15
inc eax
xor edx, edx
jmp 0x100431d0
add ebx, 3
xor ecx, ecx
mov esi, ebx
test al, al
je 0x10043e40
cmp al, 0x24
je 0x10043e40
movsx eax, al
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2 - 0x30]
mov al, byte [esi - 1]
inc esi
jmp 0x10043df1
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov esi, dword [edx]
mov al, byte [ecx]
add edx, 4
inc ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov edx, esi
test esi, esi
jns 0x10043332
mov ecx, dword [esp + 4]
neg edx
and ecx, 0xfffffff6
or ecx, 1
mov dword [esp + 4], ecx
jmp 0x10043332
mov eax, dword [esp + 0x80]
cmp dword [eax + ecx*8 - 8], 0x14
je 0x10043f00
mov eax, dword [eax + ecx*8 - 4]
mov dword [esp + 8], eax
mov al, byte [esi - 1]
jmp 0x1004329f
mov ecx, dword [esp + 0x10]
xor ebx, ebx
mov edx, 0x10072015
push dword [esp + 4]
push dword [esp + 0x24]
push ebx
push dword [esp + 0x20]
push ebx
call fcn.100429e0
add esp, 0x14
test al, al
jne case.0x10043725.3
jmp 0x100436e6
mov ecx, edx
jmp 0x1004347f
mov eax, dword [esp + 0x10]
inc dword [eax + 4]
mov dword [esp + 0x14], edx
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 0x10070c91
call dword [esp + 0x28]
mov edx, dword [esp + 0x14]
test al, al
jne 0x1004348e
jmp 0x10043ef9
mov esi, dword [esp + 0x10]
mov ebx, ecx
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 0x10070c91
call edi
mov ecx, ebx
test al, al
jne 0x100434e0
xor ebx, ebx
jmp 0x100436e6
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
mov ecx, 0x301
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
mov ecx, 0x1bc
int3
cmp eax, 0x15
jae 0x100444e6
cmp eax, 1
mov dword [esp + 0x84], eax
mov dword [esp + 0x8c], 0x14
je 0x10043f72
cmp eax, 2
mov dword [esp + 0x94], 0x14
je 0x10043f72
mov ecx, 2
mov edx, dword [esp + 0x80]
mov dword [edx + ecx*8], 0x14
inc ecx
cmp eax, ecx
jne 0x10043f5f
mov esi, dword [ebp + 8]
mov cl, byte [esi]
mov edx, esi
cmp cl, 0x25
je 0x10043f8a
inc edx
test cl, cl
mov esi, edx
jne 0x10043f75
jmp 0x100441b7
mov bl, byte [edx + 1]
lea esi, [edx + 2]
cmp bl, 0x25
je 0x10043f75
add edx, 3
xor ecx, ecx
test bl, bl
je 0x10043fb3
cmp bl, 0x24
je 0x10043fb3
movsx edi, bl
mov bl, byte [esi]
lea ecx, [ecx + ecx*4]
inc esi
inc edx
lea ecx, [edi + ecx*2 - 0x30]
jmp 0x10043f9a
lea edi, [ecx - 1]
cmp edi, eax
jae 0x100444a7
test bl, bl
je 0x100444a7
mov edi, dword [esp + 0x80]
cmp dword [edi + ecx*8 - 8], 0x14
jne 0x10043f75
mov bl, byte [edx - 1]
mov bh, bl
add bh, 0xd6
cmp bh, 6
ja case.default.0x10043fe4
movzx esi, bh
jmp dword [esi*4 + 0x1006c4b0]
inc edx
jmp 0x10043fd4
cmp bl, 0x20
je case.0x10043fe4.213
mov bh, bl
add bh, 0xd0
cmp bh, 9
ja 0x1004400a
mov bl, byte [edx]
inc edx
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10043ffd
cmp bl, 0x2e
jne 0x10044032
mov bl, byte [edx]
cmp bl, 0x2a
je 0x100444fb
mov bh, bl
inc edx
add bh, 0xd0
cmp bh, 9
ja 0x10044032
mov bl, byte [edx]
inc edx
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jb 0x10044025
cmp bl, 0x69
mov dword [edi + ecx*8 - 8], 2
jle 0x1004407d
cmp bl, 0x73
jg 0x100440bd
cmp bl, 0x6a
je 0x1004412e
cmp bl, 0x6c
jne 0x100440d9
mov esi, dword [esp + 0x80]
mov dword [esi + ecx*8 - 8], 4
mov bl, byte [edx]
cmp bl, 0x6c
jne 0x100440d8
mov esi, dword [esp + 0x80]
mov dword [esi + ecx*8 - 8], 6
jmp 0x100440b5
cmp bl, 0x49
je 0x100440c7
cmp bl, 0x4c
je 0x1004412e
cmp bl, 0x68
jne 0x100440d9
mov esi, dword [esp + 0x80]
mov dword [esi + ecx*8 - 8], 0
mov bl, byte [edx]
cmp bl, 0x68
jne 0x100440d8
mov esi, dword [esp + 0x80]
mov dword [esi + ecx*8 - 8], 0xe
mov bl, byte [edx + 1]
add edx, 2
jmp 0x100440d9
cmp bl, 0x74
je 0x100440c7
cmp bl, 0x7a
jne 0x100440d9
mov esi, dword [esp + 0x80]
mov dword [esi + ecx*8 - 8], 2
mov bl, byte [edx]
inc edx
mov esi, edx
movsx edx, bl
cmp edx, 0x62
jle 0x10044100
add edx, 0xffffff9d
cmp edx, 0x15
ja case.0x100440eb.104
jmp dword [edx*4 + 0x1006c4cc]
mov edx, dword [esp + 0x80]
or dword [edx + ecx*8 - 8], 1
jmp case.0x100440eb.99
lea edi, [edx - 0x45]
cmp edi, 3
jae 0x1004413f
mov edx, dword [esp + 0x80]
mov dword [edx + ecx*8 - 8], 8
mov edx, dword [esp + 0x80]
cmp dword [edx + ecx*8 - 8], 0x14
jne 0x10043f75
jmp 0x100444d1
mov esi, dword [esp + 0x80]
mov dword [esi + ecx*8 - 8], 6
jmp 0x100440d6
cmp edx, 0x53
je 0x10044194
cmp edx, 0x58
je case.0x100440eb.111
mov edx, dword [esp + 0x80]
mov dword [edx + ecx*8 - 8], 0x14
jmp case.0x100440eb.99
mov edx, dword [esp + 0x80]
mov dword [edx + ecx*8 - 8], 0xb
jmp case.0x100440eb.99
mov edx, dword [esp + 0x80]
mov dword [edx + ecx*8 - 8], 0xa
jmp case.0x100440eb.99
mov edx, dword [esp + 0x80]
cmp dword [edx + ecx*8 - 8], 4
je 0x1004419b
mov dword [edx + ecx*8 - 8], 9
jmp case.0x100440eb.99
mov edx, dword [esp + 0x80]
mov dword [edx + ecx*8 - 8], 0xc
jmp case.0x100440eb.99
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x100436fc
mov esi, dword [esp + 0x80]
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov edx, 0xdfff
inc ecx
cmp eax, 1
cmova ecx, eax
xor eax, eax
mov dword [esi + eax*8 + 4], edi
mov esi, dword [esp + 0x80]
mov ebx, dword [esi + eax*8]
cmp ebx, 0x10
jae 0x10044492
bt edx, ebx
jae 0x10044492
add edi, dword [ebx*4 + 0x1006c470]
inc eax
cmp ecx, eax
jne 0x100441d1
jmp case.0x10043725.3
mov eax, dword [esp + 0xc]
mov al, byte [eax]
cmp al, 0x68
jne 0x1004423d
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], 0xe
mov al, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0xc], ecx
jmp 0x10043834
mov ecx, dword [esp + 0xc]
mov al, byte [ecx]
inc ecx
jmp 0x10043828
mov byte [esp + 0x54], 0x20
jmp 0x10043bd9
inc dword [esp + 0xc]
xor ecx, ecx
mov dword [esp + 0x20], 0
jmp case.0x1004335a.182
mov edx, dword [esp + 8]
mov al, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0xc], ecx
mov ebx, dword [edx]
add edx, 4
mov dword [esp + 8], edx
jmp 0x10043343
mov esi, dword [esp + 8]
movzx ecx, byte [esi]
jmp 0x100433b9
mov esi, dword [esp + 8]
mov eax, dword [esi]
add esi, 4
movsx ecx, al
shl eax, 0x18
jmp 0x10043737
mov esi, dword [esp + 8]
mov eax, dword [esi]
add esi, 4
movsx ecx, ax
shl eax, 0x10
jmp 0x10043737
mov esi, dword [esp + 8]
movzx ecx, word [esi]
jmp 0x100433b9
xor eax, eax
dec eax
mov dword [esp + 0x18], eax
jmp 0x1004360f
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x10]
xor ebx, ebx
mov edx, 0x10072015
push dword [esp + 4]
push esi
jmp 0x10043e75
xor eax, eax
jmp 0x10043b17
mov ecx, dword [esp + 0x48]
mov byte [ecx + edx], 0
mov dword [esp + 0x50], 0xffffffff
jmp 0x10043b23
mov bl, 1
jmp 0x10043a4b
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x459
mov ebx, 1
jne 0x10043998
mov edx, dword [esp + 0x1c]
test edx, edx
je case.0x10043725.3
mov ecx, dword [esp + 0x10]
lea eax, [edx - 1]
cmp eax, 0x19
mov eax, 0x1a
cmovae edx, eax
push dword [esp + 4]
push dword [esp + 0x18]
call fcn.100428e0
add esp, 8
jmp 0x100436d7
xor ecx, ecx
jmp 0x10043a49
test byte [esp + 4], 8
je 0x10044353
mov byte [esp + 0x12e], 0x30
mov esi, dword [esp + 0x14]
sub esi, ebx
inc esi
mov eax, esi
dec eax
test eax, eax
jle 0x100443cf
mov edi, dword [esp + 0x10]
mov esi, eax
inc dword [edi + 4]
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
call dword [section..00cfg]
mov ecx, edi
push 1
lea eax, [esp + 0x132]
push eax
call dword [esp + 0x1c]
xor ecx, ecx
test al, al
jne 0x1004435a
jmp 0x10043a49
inc ebx
mov eax, ebx
dec eax
test eax, eax
jle 0x10043a47
mov esi, dword [esp + 0x10]
mov ebx, eax
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
lea eax, [esp + 0x132]
push eax
call edi
xor ecx, ecx
test al, al
jne 0x10044395
jmp 0x10043a49
xor eax, eax
dec eax
mov dword [esp + 0x1c], eax
jmp 0x10043a0f
test eax, eax
je 0x10043c24
jmp 0x10043c58
mov edi, dword [esp + 0x10]
inc dword [edi + 4]
mov dword [esp + 0x14], edx
mov eax, dword [edi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push 1
push 0x10070c91
call ebx
mov edx, dword [esp + 0x14]
xor ebx, ebx
test al, al
jne 0x10043c05
jmp 0x100436e6
cmp esi, 0x45
je 0x10044443
cmp esi, 0x46
je 0x10043cd1
cmp esi, 0x47
je 0x10043ab4
jmp 0x10043b17
cmp esi, 0x65
jne 0x10043b17
sub esp, 0x10
lea eax, [esp + 0x58]
lea ecx, [esp + 0x64]
mov dword [esp + 8], ebx
movsd qword [esp], xmm0
mov dword [esp + 0xc], eax
call sym.mozglue.dll_public:_bool___thiscall_double_conversion::DoubleToStringConverter::ToExponential_double__int__class_double_conversion::StringBuilder__const
jmp 0x10043ae2
mov ecx, dword [esp + 0x20]
mov eax, 0
mov dword [esp + 0x3c], 6
neg ecx
sbb eax, edx
or dword [esp + 4], 0x10
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov edx, eax
jmp 0x10043884
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH__
mov ecx, 0x2bb
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
mov ecx, 0x1ef
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
mov ecx, 0x202
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
mov ecx, 0x283
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_RELEASE_ASSERT_number___20_
mov ecx, 0x1d1
int3
mov dword [sym.mozglue.dll_gMozCrashReason], str.MOZ_CRASH_Bad_format_string_
mov ecx, 0x20e
int3