Function at 0x466e9d
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
mov ebx, ecx
mov ecx, dword [ebp + 0x18]
push esi
mov esi, edx
mov dword [ebp - 0x1c], ebx
mov edx, dword [ebp + 0x14]
mov al, byte [ecx]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x30], eax
mov eax, dword [ecx + 8]
xor ecx, ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], ecx
push edi
mov edi, dword [ebx + 8]
mov dword [ebp - 0x2c], edi
test edx, edx
je 0x466edf
movzx eax, byte [edx + 1]
mov dword [ebp - 0x20], eax
jmp 0x466ee2
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x466ef9
xor eax, eax
cmp dword [edx], ecx
cmovne eax, edx
mov edx, eax
mov dword [ebp + 0x10], edx
test edx, edx
jne 0x466f11
cmp dword [ebp - 0x20], ecx
jne 0x466f11
push dword [ebp + 0x1c]
mov edx, dword [esi + 0x10]
mov ecx, edi
call fcn.00466e12
mov edx, dword [ebp + 0x10]
pop ecx
xor ecx, ecx
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x10], esi
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x466f50
test edx, edx
je 0x466f41
mov eax, dword [edx]
test byte [edx + 0x1c], 1
mov eax, dword [eax]
lea ebx, [eax + 1]
cmovne ebx, eax
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
add dword [ebx + 0x2c], eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebx + 0x2c]
inc eax
mov dword [edx + 0xc], eax
mov edx, dword [ebp + 0x10]
jmp 0x466f57
add eax, esi
cmp eax, dword [ebx + 0x2c]
jle 0x466f5a
add dword [ebx + 0x2c], esi
cmp dword [ebp + 0xc], 0
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x10], esi
mov eax, dword [eax + 0xc]
mov dword [ebp - 8], eax
mov dword [ebp - 0x24], eax
jl 0x466fa4
mov dword [ebp - 0x28], ecx
test esi, esi
jle 0x46704d
mov ebx, eax
lea eax, [ecx + ebx]
push eax
push ecx
push dword [ebp + 0xc]
mov ecx, edi
push 0x63
pop edx
call fcn.004432f9
mov ecx, dword [ebp - 0x28]
add esp, 0xc
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, esi
jl 0x466f7c
mov ebx, dword [ebp - 0x1c]
jmp 0x46704a
cmp byte [ebp - 1], 3
je 0x46704d
cmp byte [ebp - 1], 0xa
je 0x466fc3
cmp byte [ebp - 1], 9
je 0x466fc3
cmp byte [ebp - 1], 0xd
mov byte [ebp + 0xc], cl
jne 0x466fc7
mov byte [ebp + 0xc], 1
test edx, edx
je 0x467033
cmp dword [ebp - 0x20], 0
jne 0x467033
cmp byte [ebp - 1], 0xc
je 0x467033
cmp byte [ebp - 1], 0xe
je 0x467033
mov ebx, dword [edx]
or byte [ebp + 0xc], 0xc
mov esi, dword [edx + 4]
cmp esi, dword [ebx]
mov ebx, dword [ebp - 0x1c]
jge 0x467030
mov eax, dword [edx]
mov edi, dword [ebp + 8]
imul ecx, esi, 0x18
mov dword [ebp - 0x28], ecx
movzx ebx, word [eax + ecx + 0x1c]
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x46701a
mov cx, si
sub cx, word [edx + 4]
inc cx
imul eax, ebx, 0x18
mov word [eax + edi + 4], cx
mov eax, dword [edx]
mov ecx, dword [ebp - 0x28]
inc esi
add ecx, 0x18
mov dword [ebp - 0x28], ecx
cmp esi, dword [eax]
jl 0x466ff8
mov edi, dword [ebp - 0x2c]
xor ecx, ecx
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], ecx
push dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push ecx
push eax
mov ecx, ebx
call fcn.004547b7
add esp, 0xc
mov dword [ebp - 0x10], eax
mov esi, eax
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x20], 0
je 0x467187
mov edx, dword [ebp + 0x14]
movzx ecx, byte [edx + 1]
sub ecx, 1
je 0x467165
sub ecx, 1
je 0x467080
mov edx, dword [edx + 4]
mov ecx, ebx
push eax
push esi
push dword [ebp + 0x1c]
call fcn.00466e2c
jmp 0x467160
mov eax, dword [ebx + 0x2c]
lea ecx, [eax + 1]
add eax, esi
mov dword [ebp + 0xc], ecx
mov ecx, edi
mov dword [ebx + 0x2c], eax
mov edx, dword [edx + 8]
call fcn.00443953
mov edx, dword [ebp + 0x14]
mov ecx, edi
mov edx, dword [edx + 8]
call fcn.00443adb
mov ecx, dword [ebp + 0xc]
mov dword [eax + 8], ecx
mov ecx, edi
mov byte [eax], 0x3b
mov dword [eax + 4], 1
call fcn.004436d4
add eax, esi
mov dword [ebp - 0x2c], eax
lea eax, [esi - 1]
mov dword [ebp + 0x14], eax
test esi, esi
jle 0x46714f
mov edx, dword [ebp + 8]
add edx, 8
xor ecx, ecx
mov dword [ebp - 0x28], edx
mov dword [ebp + 8], ecx
mov edx, dword [edx]
mov ecx, ebx
call fcn.00450b59
mov edx, dword [ebp + 0x1c]
mov esi, eax
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
cmovl edx, dword [ebp - 0x2c]
add ecx, eax
mov eax, dword [ebp - 8]
push ecx
mov ecx, dword [ebp + 8]
add eax, ecx
push edx
xor edx, edx
cmp ecx, dword [ebp + 0x14]
push eax
setge dl
mov ecx, edi
add edx, 0x4d
call fcn.004432f9
add esp, 0xc
or edx, 0xffffffff
mov ecx, edi
push 0xfffffffffffffffd
push esi
call fcn.00443a13
pop ecx
pop ecx
mov edx, 0x80
mov ecx, edi
call fcn.004437ff
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x28]
inc eax
mov esi, dword [ebp - 0x10]
add edx, 0x18
mov dword [ebp + 8], eax
mov dword [ebp - 0x28], edx
cmp eax, esi
jl 0x4670dd
lea eax, [esi - 1]
push eax
push dword [ebp + 0xc]
mov ecx, edi
push dword [ebp - 8]
push 0x40
pop edx
call fcn.004432f9
add esp, 0xc
jmp 0x46716f
mov edx, dword [edx + 8]
mov ecx, edi
call fcn.00443953
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x46718a
mov eax, dword [ebp - 0x18]
mov ecx, edi
push dword [ebp + 0x1c]
mov edx, dword [eax + 0x10]
call fcn.00466e12
pop ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x30]
dec ecx
cmp ecx, 0xd
ja case.0x467197.4
jmp dword [ecx*4 + 0x4674f9]
mov ecx, ebx
call fcn.004555aa
mov esi, eax
mov ecx, edi
push esi
push dword [ebp - 0x10]
push dword [ebp - 8]
push 0x65
pop edx
call fcn.004432f9
mov ecx, dword [ebp - 0xc]
add esp, 0xc
push dword [ebp - 0x10]
push dword [ebp - 8]
push esi
push ecx
mov edx, 0x80
mov ecx, edi
call fcn.004434d9
add esp, 0x10
mov edx, esi
mov ecx, ebx
call fcn.004555c9
jmp case.0x467197.4
mov ecx, dword [ebp - 0xc]
mov edx, 0x81
push esi
push dword [ebp - 8]
push ecx
mov ecx, edi
call fcn.004432f9
add esp, 0xc
jmp case.0x467197.4
mov eax, dword [ebp - 0x14]
mov ecx, ebx
inc eax
mov edx, eax
mov dword [ebp + 0x14], eax
call fcn.0045560c
mov ecx, eax
mov eax, dword [ebp - 0x14]
add eax, ecx
mov dword [ebp + 0x18], ecx
push eax
push esi
mov esi, dword [ebp - 8]
mov ecx, edi
push esi
push 0x65
pop edx
mov dword [ebp + 8], eax
call fcn.004432f9
add esp, 0xc
cmp byte [ebp - 1], 6
jne 0x46726e
mov ecx, edi
call fcn.004436d4
mov esi, dword [ebp - 0xc]
add eax, 4
push 0
push dword [ebp + 0x18]
inc esi
push eax
push esi
push 0x1e
pop edx
call fcn.004434d9
push dword [ebp - 0x10]
mov edx, 0x80
mov ecx, edi
push dword [ebp - 8]
push dword [ebp + 0x18]
push esi
call fcn.004434d9
mov esi, dword [ebp - 8]
add esp, 0x20
mov eax, dword [ebp + 0x10]
mov ecx, ebx
test eax, eax
je 0x46728f
push dword [ebp - 0x14]
mov edx, eax
push 1
push esi
push dword [ebp + 8]
push dword [ebp - 0x18]
call fcn.00466b04
add esp, 0x14
jmp 0x4672cb
call fcn.004555aa
mov esi, eax
mov ecx, edi
push esi
push dword [ebp - 0xc]
push 0x75
pop edx
call fcn.0044337d
push esi
push dword [ebp + 0x18]
mov ecx, edi
push dword [ebp - 0xc]
push 0x76
pop edx
call fcn.004432f9
add esp, 0x14
mov ecx, edi
push 8
pop edx
call fcn.004437ff
mov edx, esi
mov ecx, ebx
call fcn.004555c9
push dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
jmp 0x4674ca
mov ecx, ebx
test eax, eax
jne 0x46733b
call fcn.004555aa
mov ecx, dword [ebp + 0x18]
mov esi, eax
mov eax, dword [ebp - 0x10]
push eax
push dword [ecx + 4]
mov ecx, edi
push esi
push eax
push dword [ebp - 8]
push 0x65
pop edx
call fcn.00443422
mov edx, dword [ebp - 8]
add esp, 0x14
mov ecx, ebx
push dword [ebp - 0x10]
call fcn.004538b1
pop ecx
push dword [ebp - 0x10]
push dword [ebp - 8]
push esi
push dword [ebp - 0xc]
jmp 0x4671c6
push dword [ebp - 0xc]
mov ecx, edi
push 1
push 0x38
pop edx
call fcn.0044337d
pop ecx
jmp 0x4674d1
test eax, eax
je 0x4674d8
mov ecx, ebx
push dword [ebp - 0x14]
mov edx, eax
push esi
push dword [ebp - 0x24]
push dword [ebp - 8]
push dword [ebp - 0x18]
call fcn.00466b04
add esp, 0x14
jmp case.0x467197.4
test eax, eax
jne 0x467339
cmp byte [ebp - 1], 0xd
mov ecx, edi
jne 0x467377
mov eax, dword [ebp + 0x18]
push dword [eax + 8]
push 0x10
pop edx
call fcn.00443369
pop ecx
jmp 0x4674d8
push esi
push dword [ebp - 8]
push 0x43
pop edx
call fcn.0044337d
mov edx, dword [ebp - 8]
mov ecx, ebx
push esi
call fcn.004538b1
jmp 0x4671f7
xor eax, eax
mov ecx, ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2c], eax
mov edx, dword [eax]
mov dword [ebp + 0x18], edx
call fcn.004555aa
lea edx, [edx + 2]
mov dword [ebp + 0xc], eax
call fcn.0045560c
mov dword [ebp + 8], eax
add eax, dword [ebp + 0x18]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0xc]
inc eax
cmp byte [ebp - 1], 8
mov dword [ebp - 0x30], eax
jne 0x4673e5
push esi
push dword [ebp - 8]
mov ecx, edi
push 0
push eax
push 0x1e
pop edx
call fcn.004434d9
add esp, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x14]
mov ecx, edi
inc eax
push eax
push esi
mov esi, dword [ebp - 8]
push esi
push 0x65
pop edx
call fcn.004432f9
add esp, 0xc
cmp byte [ebp - 1], 8
jne 0x467422
mov eax, dword [ebp + 0x14]
mov edx, 0x80
inc eax
mov ecx, edi
push eax
push dword [ebp - 0x30]
call fcn.0044337d
pop ecx
pop ecx
push 0x10
pop edx
mov ecx, edi
call fcn.004437ff
cmp dword [ebp + 0x18], 0
jle 0x46745e
mov ecx, dword [ebp - 0x2c]
add ecx, 0x1c
xor ebx, ebx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp + 8]
add eax, ebx
push eax
movzx eax, word [ecx]
mov ecx, edi
dec eax
add eax, esi
push eax
push 0x41
pop edx
call fcn.0044337d
pop ecx
pop ecx
mov ecx, dword [ebp - 0x28]
inc ebx
add ecx, 0x18
mov dword [ebp - 0x28], ecx
cmp ebx, dword [ebp + 0x18]
jl 0x467433
mov ebx, dword [ebp - 0x1c]
push dword [ebp + 0x14]
mov esi, dword [ebp - 0xc]
mov ecx, edi
push esi
push 0x74
pop edx
call fcn.0044337d
push dword [ebp + 0xc]
mov eax, dword [ebp + 0x18]
mov ecx, edi
add eax, 2
push eax
push dword [ebp + 8]
push 0x65
pop edx
call fcn.004432f9
mov eax, dword [ebp + 0x18]
add esp, 0x14
add eax, 2
mov edx, 0x80
mov ecx, edi
push eax
push dword [ebp + 8]
push dword [ebp + 0xc]
push esi
call fcn.004434d9
mov eax, dword [ebp - 0x24]
add esp, 0x10
test eax, eax
je 0x4674b6
mov edx, eax
mov ecx, edi
call fcn.00443817
mov edx, dword [ebp + 0xc]
mov ecx, ebx
call fcn.004555c9
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
add eax, 2
push eax
mov ecx, ebx
call fcn.00455642
pop ecx
cmp dword [ebp + 0x10], 0
jne 0x4674f3
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0xc], 0
je 0x4674f3
push dword [ebp + 0x20]
mov ecx, edi
push dword [eax + 0xc]
push 0x30
pop edx
call fcn.0044337d
pop ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret