Function at 0x442d7f
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push esi
push edi
mov dword [ebp - 0x50], ecx
mov byte [ebp - 1], 0
cmp dword [ebp + 8], 0
je 0x44339f
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x54]
sub edx, 1
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 0x14
ja case.default.0x442d78
mov eax, dword [ebp - 0x54]
jmp dword [eax*4 + 0x4433b4]
jmp 0x443338
push 0x100
push 1
call fcn.0044b620
add esp, 8
push eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x224]
push edx
call fcn.0044b610
add esp, 8
cmp eax, 1
jne 0x442db1
mov byte [ebp - 1], 1
jmp 0x442dfe
push 0x100
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x224]
push ecx
call fcn.0044b610
add esp, 8
test eax, eax
jne 0x442ddc
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov ecx, dword [edx]
cmp ecx, dword [eax + 0x210]
je 0x442dfe
mov edx, dword [ebp - 0x50]
mov eax, dword [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
movsx eax, byte [edx]
xor ecx, ecx
cmp eax, 0xa
setne cl
mov byte [ebp - 1], cl
jmp 0x443338
push 2
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x224]
push eax
call fcn.0044b610
add esp, 8
test eax, eax
jne 0x442e38
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x50]
mov eax, dword [ecx]
cmp eax, dword [edx + 0x214]
je 0x442e3c
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx]
movsx eax, byte [edx]
cmp eax, 0xa
je 0x442e3c
mov byte [ebp - 1], 1
jmp 0x443338
push 4
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x224]
push edx
call fcn.0044b610
add esp, 8
test eax, eax
je 0x442e69
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
mov edx, dword [eax]
cmp edx, dword [ecx + 0x210]
je 0x442e91
push 8
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x224]
push ecx
call fcn.0044b610
add esp, 8
test eax, eax
je 0x442e97
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov ecx, dword [edx]
cmp ecx, dword [eax + 0x214]
jne 0x442e97
mov byte [ebp - 0xa], 0
jmp 0x442ec7
push 0xffffffffffffffff
mov edx, dword [ebp - 0x50]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x50]
call fcn.00444f20
movzx esi, al
push 0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0x50]
call fcn.00444f20
movzx eax, al
xor ecx, ecx
cmp esi, eax
setne cl
mov byte [ebp - 0xa], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
and eax, 1
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 9], al
movzx ecx, byte [ebp - 0xa]
movzx edx, byte [ebp - 9]
cmp ecx, edx
jne 0x442ee9
mov byte [ebp - 1], 1
jmp 0x443338
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
mov edx, dword [eax]
cmp edx, dword [ecx + 0x214]
je 0x442f18
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
movsx edx, byte [ecx]
cmp edx, 0xa
je 0x442f18
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
movsx edx, byte [ecx]
cmp edx, 0xd
jne 0x442f1e
mov byte [ebp - 1], 1
jmp 0x442f2b
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 0x50]
mov dword [edx], ecx
jmp 0x443338
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
push 0x80
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x224]
push edx
call fcn.0044b610
add esp, 8
test eax, eax
setne al
movzx ecx, al
push ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x220]
push eax
mov ecx, dword [ebp - 0x50]
add ecx, 0x22c
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
call fcn.0043db40
mov esi, eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
call fcn.004448d0
add esi, eax
push esi
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
call fcn.0043db40
push eax
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x214]
push eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx]
push edx
call fcn.00443410
add esp, 0x1c
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax]
je 0x442fc0
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x10]
mov dword [edx], eax
jmp 0x442fc4
mov byte [ebp - 1], 1
jmp 0x443338
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x50]
mov eax, dword [ecx]
cmp eax, dword [edx + 0x214]
je 0x442ff5
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x50]
call fcn.00444fe0
movzx edx, al
test edx, edx
je 0x442ff5
mov dword [ebp - 0x58], 0
jmp 0x442ffc
mov dword [ebp - 0x58], 1
mov al, byte [ebp - 0x58]
mov byte [ebp - 1], al
jmp 0x443338
jmp 0x443338
jmp 0x443338
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp + 8]
xor ecx, ecx
cmp dword [eax + 4], 0xb
sete cl
mov byte [ebp - 0x15], cl
mov edx, dword [ebp - 0x50]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x50]
call fcn.00442d40
movzx ecx, al
neg ecx
sbb ecx, ecx
neg ecx
movzx edx, byte [ebp - 0x15]
cmp ecx, edx
jne 0x443068
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x50]
call fcn.00443f70
mov byte [ebp - 1], 1
jmp 0x443070
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x1c]
mov dword [ecx], edx
jmp 0x443338
mov dword [ebp + 8], 0
jmp 0x443338
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx]
mov dword [eax + edx*8 + 8], ecx
jmp 0x443338
mov edx, dword [ebp + 8]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x50]
movzx eax, byte [edx + 0x229]
test eax, eax
jne 0x4430c4
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 0x14], 0
je 0x4430ef
mov edx, dword [ebp - 0x2c]
mov eax, 1
mov ecx, dword [edx + 0x14]
shl eax, cl
mov ecx, dword [ebp - 0x50]
or eax, dword [ecx + 4]
mov edx, dword [ebp - 0x50]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [edx + ecx*8 + 0xc], eax
jmp 0x443338
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
mov eax, 1
mov ecx, dword [edx + 0x14]
shl eax, cl
mov ecx, dword [ebp - 0x50]
and eax, dword [ecx + 4]
je 0x4431b2
mov edx, dword [ebp - 0x50]
mov eax, dword [edx]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + edx*8 + 8]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + eax*8 + 0xc]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x38]
je 0x4431aa
push 0x80
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x224]
push edx
call fcn.0044b610
add esp, 8
test eax, eax
setne al
movzx ecx, al
push ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x220]
push eax
mov ecx, dword [ebp - 0x50]
add ecx, 0x22c
push ecx
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x214]
push edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
push ecx
call fcn.00443410
add esp, 0x1c
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x3c]
cmp eax, dword [edx]
jne 0x4431aa
mov byte [ebp - 1], 1
jmp 0x4431b2
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x3c]
mov dword [ecx], edx
jmp 0x443338
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x50]
call fcn.00444bc0
movzx ecx, al
test ecx, ecx
jne 0x4431d0
mov byte [ebp - 1], 1
jmp 0x4431d7
mov dword [ebp + 8], 0
jmp 0x443338
jmp 0x443338
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
and eax, 2
setne cl
movzx edx, cl
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x50]
call fcn.00444c70
movzx ecx, al
test ecx, ecx
jne 0x44320a
mov byte [ebp - 1], 1
jmp 0x443211
mov dword [ebp + 8], 0
jmp 0x443338
mov edx, dword [ebp + 8]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x234]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [edx + 4]
cmp ecx, dword [eax + 0x14]
je 0x443241
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x44], eax
jmp 0x443228
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0
je 0x44325c
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
mov edx, dword [eax]
cmp edx, dword [ecx]
jne 0x443265
mov dword [ebp + 8], 0
jmp 0x443276
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x44]
mov byte [eax + 8], 1
jmp 0x443338
jmp 0x443338
push 0x2000
push 0x20
call fcn.0044b620
add esp, 8
push eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 0x224]
push edx
call fcn.0044b610
add esp, 8
test eax, eax
je 0x4432b6
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
mov edx, dword [eax + 0x210]
cmp edx, dword [ecx]
je 0x4432d4
mov eax, dword [ebp - 0x50]
movzx ecx, byte [eax + 0x230]
test ecx, ecx
je 0x4432da
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov ecx, dword [edx]
cmp ecx, dword [eax + 0x214]
je 0x4432da
mov byte [ebp - 1], 1
jmp 0x443314
mov edx, dword [ebp - 0x50]
movzx eax, byte [edx + 0x228]
test eax, eax
je 0x4432f7
mov ecx, dword [ebp - 0x50]
call fcn.00445210
movzx ecx, al
test ecx, ecx
je 0x443314
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x50]
add edi, 0x108
mov ecx, 0x42
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0x50]
mov byte [edx + 0x228], 1
mov dword [ebp + 8], 0
jmp 0x443338
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
push str.invalid__N_type:__d_n
call fcn.004e31e0
add esp, 8
push 1
call fcn.004e39a0
movzx edx, byte [ebp - 1]
test edx, edx
je 0x44338b
mov dword [ebp + 8], 0
push 0x80
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x224]
push ecx
call fcn.0044b610
add esp, 8
test eax, eax
je 0x443389
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov ecx, dword [edx]
cmp ecx, dword [eax + 0x214]
jne 0x443389
mov byte [ebp - 1], 0
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x50]
add edi, 0x108
mov ecx, 0x42
rep movsd dword es:[edi], dword [esi]
jmp 0x44339a
cmp dword [ebp + 8], 0
je 0x44339a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
mov dword [ebp + 8], eax
jmp 0x442d4f
movzx eax, byte [ebp - 1]
neg eax
sbb eax, eax
add eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4