Function at 0x426370
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x6c
mov dword [esp], 0x4db248
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
call sym.___emutls_get_address
cmp byte [eax], 0
jne 0x426460
mov edi, eax
call dword [0x519144]
mov ecx, eax
call sym._dollar___stdZwidestrs_u385_4
mov dword [esp], 0x4db1c8
mov dword [esp + 0x28], eax
mov ebp, edx
call sym.___emutls_get_address
cmp byte [eax], 0
mov esi, eax
jne 0x42644b
mov eax, dword [esp + 0x28]
mov dword [esp + 4], ebp
mov dword [esp], eax
call sym._nosparseCmdLine_8
sub esp, 8
cmp byte [esi], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jne 0x42644b
mov dword [esp], 0x4db238
call sym.___emutls_get_address
mov edx, dword [esp + 0x2c]
mov esi, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], edx
mov ecx, esi
mov dword [esp], eax
call sym._eqsink___system_u3800_12
mov byte [edi], 1
sub esp, 8
test ebp, ebp
je 0x426425
test dword [ebp], 0x40000000
je 0x426648
cmp dword [esi], ebx
jle 0x426472
test ebx, ebx
js 0x426472
mov eax, dword [esi + 4]
lea ecx, [esp + 0x48]
mov edx, dword [eax + ebx*8 + 8]
mov eax, dword [eax + ebx*8 + 4]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._eqcopy___stdZassertions_u30_12
sub esp, 8
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0x4db238
call sym.___emutls_get_address
mov esi, eax
cmp dword [esi], ebx
jg 0x426429
mov edx, 4
mov ecx, 0x20
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
call sym._nimNewObj_8
mov dword [eax], sym._rttiDestroy__systemZexceptions_u60_4
mov edi, eax
mov dword [eax + 8], str.IndexDefect
mov eax, dword [esi]
sub eax, 1
jo 0x4267b3
test eax, eax
js 0x426658
mov ecx, ebx
call sym._dollar___systemZdollars_u8_4
mov dword [esp], 0x4db1c8
mov dword [esp + 0x34], edx
mov ebx, eax
call sym.___emutls_get_address
cmp byte [eax], 0
mov ebp, eax
jne 0x4266ae
mov ecx, dword [esi]
sub ecx, 1
jo 0x4267b3
call sym._dollar___systemZdollars_u8_4
cmp byte [ebp], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], edx
jne 0x4266ae
lea ecx, [ebx + eax + 0x13]
call sym._rawNewString_4
mov esi, eax
lea ebp, [eax + edx + 4]
mov ecx, edx
mov edx, 0x2078
mov eax, esi
mov dword [ebp], 0x65646e69
add eax, 6
mov word [ebp + 4], dx
mov byte [ebp + 6], 0
jo 0x4267bd
mov esi, eax
lea ebp, [eax + ecx + 4]
test ebx, ebx
jle 0x426583
mov eax, ebx
add eax, 1
jo 0x4267e1
mov dword [esp + 0x3c], ecx
test eax, eax
js 0x426721
mov edx, dword [esp + 0x34]
mov dword [esp + 8], eax
mov dword [esp], ebp
add edx, 4
mov dword [esp + 4], edx
call sym._memcpy
add ebx, esi
mov ecx, dword [esp + 0x3c]
jo 0x4267e1
lea ebp, [ebx + ecx + 4]
mov esi, ebx
mov ebx, esi
mov eax, 0x20
mov dword [ebp], 0x746f6e20
add ebx, 0xd
mov dword [ebp + 4], 0x206e6920
mov dword [ebp + 8], 0x2e2e2030
mov word [ebp + 0xc], ax
jo 0x42679f
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x4265f6
add eax, 1
jo 0x4267cf
test eax, eax
js 0x42675e
mov esi, dword [esp + 0x38]
lea edx, [ebx + ecx + 4]
mov dword [esp + 8], eax
mov dword [esp], edx
add esi, 4
mov dword [esp + 0x3c], ecx
mov dword [esp + 4], esi
call sym._memcpy
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
add eax, ebx
jo 0x4267cf
mov ebx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ecx
test eax, eax
je 0x426617
mov eax, dword [eax]
mov dword [esp + 0x28], eax
test eax, 0x40000000
je 0x426710
mov eax, dword [esp + 0x34]
test eax, eax
je 0x426630
mov eax, dword [eax]
mov dword [esp + 0x28], eax
test eax, 0x40000000
je 0x4266f8
lea ecx, [esp + 0x58]
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
call sym._eqwasMoved___stdZassertions_u27_4
jmp 0x42667b
mov dword [esp], ebp
call sym._deallocShared
jmp 0x426425
lea ecx, [esp + 0x50]
mov esi, 0x2b
mov ebx, 0x4decc0
mov dword [esp + 0x50], 0x2b
mov dword [esp + 0x54], 0x4decc0
call sym._eqwasMoved___stdZassertions_u27_4
mov dword [edi + 0xc], esi
mov edx, str.IndexDefect
mov ecx, edi
mov dword [edi + 0x10], ebx
mov dword [edi + 4], 0
mov dword [esp + 8], 0xf6
mov dword [esp + 4], str.cmdline.nim
mov dword [esp], str.paramStr
call sym._raiseExceptionEx_20
sub esp, 0xc
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4266be
test dword [eax], 0x40000000
je 0x4266e8
mov eax, dword [esp + 0x54]
test eax, eax
je 0x42644b
test dword [eax], 0x40000000
jne 0x42644b
mov dword [esp], eax
call sym._deallocShared
jmp 0x42644b
mov dword [esp], eax
call sym._deallocShared
jmp 0x4266be
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sym._deallocShared
jmp 0x426630
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._deallocShared
jmp 0x426617
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0x80000000
mov dword [esp + 4], 0xffffffff
call sym._raiseRangeErrorI
mov ecx, dword [esp + 0x3c]
jmp 0x426583
mov dword [esp + 0x10], 0x7fffffff
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0x80000000
mov dword [esp + 4], 0xffffffff
mov dword [esp + 0x28], ecx
call sym._raiseRangeErrorI
mov ecx, dword [esp + 0x28]
jmp 0x4265f6
mov dword [esp + 0x3c], ecx
mov ebx, esi
call sym._raiseOverflow
mov ecx, dword [esp + 0x3c]
jmp 0x4265ac
call sym._raiseOverflow
jmp 0x4266ae
mov dword [esp + 0x3c], ecx
call sym._raiseOverflow
mov ecx, dword [esp + 0x3c]
jmp 0x42653f
mov dword [esp + 0x28], ecx
call sym._raiseOverflow
mov ecx, dword [esp + 0x28]
jmp 0x4265f6
mov dword [esp + 0x3c], ecx
call sym._raiseOverflow
mov ecx, dword [esp + 0x3c]
jmp 0x426583