Function at 0x10080fd6
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x38
mov esi, ecx
mov ebp, dword [esp + 0x4c]
mov eax, dword [0x1025ad40]
xor eax, esp
mov dword [esp + 0x34], eax
lea eax, [ecx + 0x38]
mov dword [esp], eax
movzx eax, byte [ecx + 0x48]
nop word cs:[eax + eax]
lea ecx, [ebp - 0x10000]
cmp ecx, 0xd
ja case.default.0x10080fab
jmp dword [ecx*4 + 0x101b10fc]
lea ecx, [ebp - 0x30000]
cmp ecx, 0xd
ja case.0x10080fcf.196618
jmp dword [ecx*4 + 0x101b1134]
and ebp, 0x20000
test al, al
je 0x10081145
or ebp, 0x10000
jmp 0x10080fa0
and ebp, 0x20000
test al, al
je 0x10081168
or ebp, 0x10001
jmp 0x10080fa0
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + 0x40]
cmp eax, ebx
jne 0x1008131c
mov eax, dword [esp]
mov edi, dword [eax]
cmp edi, ecx
jge 0x100821cd
lea ecx, [esi + 0x50]
mov edx, edi
push 0
push 1
call fcn.10086210
add esp, 8
test eax, eax
je 0x1008104c
cmp dword [esi + 4], edi
jle 0x1008229b
mov ecx, dword [esi + 0xc]
movzx ecx, word [ecx + edi*2]
mov word [eax], cx
mov eax, dword [esi + 0xc]
lea ebx, [eax + edi*2]
lea eax, [eax + edi*2]
add eax, 2
push eax
push ebx
call fcn.10048d90
add esp, 8
sub dword [esi + 0x28], eax
dec dword [esi + 0x2c]
mov ecx, dword [esi + 0xc]
movzx eax, word [ecx + edi*2 + 2]
test ax, ax
je 0x10081091
lea ecx, [ecx + edi*2]
add ecx, 4
nop dword [eax + eax]
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10081080
mov word [ebx], 0
jmp 0x100821cd
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + 0x40]
cmp eax, ebx
jne 0x10081339
mov eax, dword [esp]
mov ebp, dword [eax]
cmp ebp, ecx
jle 0x100810bc
mov eax, dword [esp]
mov dword [eax], ecx
mov ebp, ecx
test ebp, ebp
jle 0x100821cd
lea ebx, [ebp - 1]
lea ecx, [esi + 0x50]
mov edx, ebx
push 0
push 1
call fcn.10086210
add esp, 8
test eax, eax
je 0x100810f0
cmp dword [esi + 4], ebp
jl 0x1008229b
mov ecx, dword [esi + 0xc]
movzx ecx, word [ecx + ebp*2 - 2]
mov word [eax], cx
mov eax, dword [esi + 0xc]
lea edi, [eax + ebx*2]
lea eax, [eax + ebp*2]
push eax
push edi
call fcn.10048d90
add esp, 8
sub dword [esi + 0x28], eax
dec dword [esi + 0x2c]
mov ecx, dword [esi + 0xc]
movzx eax, word [ecx + ebp*2]
test ax, ax
je 0x10081131
lea ecx, [ecx + ebp*2]
add ecx, 2
nop dword [eax + eax]
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10081120
mov word [edi], 0
mov ebp, dword [esp]
mov eax, dword [ebp]
dec eax
mov dword [ebp], eax
jmp 0x100821cd
mov eax, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
test ebp, ebp
jne 0x1008166f
cmp eax, edx
jne 0x100819da
mov eax, dword [esp]
mov eax, dword [eax]
mov ecx, dword [esi + 0x2c]
jmp 0x10081bc8
mov eax, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
test ebp, ebp
jne 0x10081688
cmp eax, edx
jne 0x100819f3
mov eax, dword [esp]
mov eax, dword [eax]
mov ecx, dword [esi + 0x2c]
jmp 0x10081cf1
mov eax, dword [esi + 0x2c]
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
cmp edx, ecx
jne 0x1008177e
mov ecx, dword [esp]
mov edx, dword [ecx]
jmp 0x1008179b
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x40]
cmp ecx, eax
jne 0x100811b8
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov eax, ecx
lea edx, [eax + 1]
mov dword [esi + 0x40], edx
cmp ecx, edx
jne 0x100817b5
mov edx, ecx
mov dword [esi + 0x38], ecx
jmp 0x100821cd
mov edi, dword [esi + 0x2c]
mov ebx, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
cmp ebx, edx
jne 0x100817d0
mov edx, ebx
mov ebp, dword [esp]
jmp 0x100817ed
mov ecx, dword [esi + 0x2c]
mov ebx, dword [esi + 0x3c]
mov edi, dword [esi + 0x40]
cmp ebx, edi
jne 0x10081805
mov edi, ebx
mov ebp, dword [esp]
jmp 0x1008181e
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0x10081214
mov eax, dword [esi + 0x38]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], 0
mov dword [esi + 0x38], 0
jmp 0x100821cd
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0x10081235
mov eax, dword [esi + 0x38]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
jmp 0x100821cd
mov ebx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0x10081254
mov dword [esi + 0x40], ebx
mov dword [esi + 0x3c], ebx
mov ebp, dword [esp]
nop word [eax + eax]
mov eax, ebx
dec ebx
test eax, eax
jle 0x10081274
mov ecx, esi
mov edx, ebx
call fcn.10086420
test eax, eax
je 0x10081260
xor ecx, ecx
test ebx, ebx
cmovg ecx, ebx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x40], ecx
mov eax, dword [esi + 0x2c]
mov edx, dword [esi + 0x3c]
cmp edx, ecx
je 0x100815d9
cmp edx, eax
jle 0x10081298
mov dword [esi + 0x3c], eax
mov edx, eax
mov edi, ecx
cmp ecx, eax
jle 0x100815d0
mov dword [esi + 0x40], eax
mov edi, eax
jmp 0x100815d0
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0x100812bd
mov dword [esi + 0x40], ecx
mov dword [esi + 0x3c], ecx
mov ebp, dword [esi + 0x2c]
inc ecx
nop word cs:[eax + eax]
mov ebx, ecx
cmp ecx, ebp
jge 0x100812e6
mov ecx, esi
mov edx, ebx
call fcn.10086420
lea ecx, [ebx + 1]
test eax, eax
je 0x100812d0
cmp ebx, ebp
cmovl ebp, ebx
mov dword [esi + 0x38], ebp
mov dword [esi + 0x40], ebp
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x3c]
cmp ecx, ebp
je 0x1008164b
cmp ecx, eax
jle 0x10081308
mov dword [esi + 0x3c], eax
mov ecx, eax
mov edx, ebp
cmp ebp, eax
jle 0x10081640
mov dword [esi + 0x40], eax
mov edx, eax
jmp 0x10081640
cmp eax, ecx
mov ebp, dword [esp]
jle 0x10081355
mov dword [esi + 0x3c], ecx
mov eax, ecx
cmp ebx, ecx
jg 0x10081359
cmp eax, ebx
jne 0x10081362
mov dword [ebp], eax
mov edx, eax
mov ebx, eax
jmp 0x10081365
cmp eax, ecx
mov edi, dword [esp]
jle 0x10081382
mov dword [esi + 0x3c], ecx
mov eax, ecx
cmp ebx, ecx
jg 0x10081386
cmp eax, ebx
jne 0x1008138f
mov dword [edi], eax
mov edx, eax
mov ebx, eax
jmp 0x10081391
cmp ebx, ecx
jle 0x1008132c
mov dword [esi + 0x40], ecx
mov ebx, ecx
cmp eax, ebx
je 0x10081330
mov edx, dword [ebp]
cmp edx, ecx
jle 0x1008136c
mov dword [ebp], ecx
mov edi, eax
sub edi, ebx
je 0x100821cd
jge 0x10081aff
sub ebx, eax
mov ecx, esi
jmp 0x100813ae
cmp ebx, ecx
jle 0x10081349
mov dword [esi + 0x40], ecx
mov ebx, ecx
cmp eax, ebx
je 0x1008134d
mov edx, dword [edi]
cmp edx, ecx
jle 0x10081397
mov dword [edi], ecx
mov edi, eax
sub edi, ebx
je 0x100821cd
jge 0x10081b03
sub ebx, eax
mov ecx, esi
mov ebp, dword [esp]
mov edx, ebp
push ebx
push eax
call fcn.10086150
add esp, 8
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x40], eax
mov dword [ebp], eax
jmp 0x100821cd
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
cmp eax, ecx
jne 0x1008165d
mov ecx, dword [esp]
mov eax, dword [ecx]
test eax, eax
jle 0x100821cd
dec eax
mov dword [ecx], eax
jmp 0x100821cd
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
cmp ecx, edx
jne 0x100818a9
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x38]
inc eax
mov dword [esi + 0x38], eax
mov edi, dword [esp]
jmp 0x10081b70
mov edi, dword [esi + 0x2c]
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
cmp ecx, edx
jne 0x100818bc
mov edx, ecx
mov ebp, dword [esp]
jmp 0x100818dd
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x3c]
mov edi, dword [esi + 0x40]
cmp edx, edi
jne 0x10081953
mov edi, edx
mov ebp, dword [esp]
jmp 0x1008196c
mov dword [esi + 0x40], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x38], 0
jmp 0x100821cd
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x38], eax
mov dword [esi + 0x40], 0
mov dword [esi + 0x3c], 0
jmp 0x100821cd
movsx eax, word [esi + 0xe4e]
test eax, eax
je 0x100821cd
lea ebx, [esi + 0x50]
shl eax, 4
mov ebp, dword [eax + ebx - 0x10]
mov ecx, dword [eax + ebx - 0xc]
mov edi, dword [eax + ebx - 8]
mov edx, dword [eax + ebx - 4]
movsx eax, word [esi + 0xe50]
shl eax, 4
mov dword [eax + ebx - 4], 0xffffffff
mov dword [eax + ebx - 0xc], edi
mov dword [esp + 0x14], ecx
mov dword [eax + ebx - 8], ecx
mov dword [eax + ebx - 0x10], ebp
test edi, edi
je 0x1008218c
mov dword [esp + 0xc], edx
mov edx, dword [esi + 0xe54]
lea ecx, [edx + edi]
cmp ecx, 0x3e6
mov dword [esp], edi
jle 0x10081e88
add eax, ebx
add eax, 0xfffffff4
mov dword [eax], 0
jmp 0x10082125
movsx eax, word [esi + 0xe50]
cmp eax, 0x63
je 0x100821cd
movsx ecx, word [esi + 0xe4e]
shl ecx, 4
shl eax, 4
mov ebx, dword [esi + eax + 0x50]
mov edi, dword [esi + eax + 0x54]
mov edx, dword [esi + eax + 0x58]
mov eax, dword [esi + eax + 0x5c]
mov dword [esi + ecx + 0x58], edi
mov dword [esi + ecx + 0x54], edx
mov dword [esi + ecx + 0x50], ebx
mov dword [esi + ecx + 0x5c], 0xffffffff
test edx, edx
je 0x1008207e
mov dword [esp + 0x14], eax
mov dword [esp + 4], edi
mov dword [esp], ebx
lea eax, [esi + ecx]
add eax, 0x54
mov edi, dword [esi + 0xe54]
mov dword [esp + 0xc], edx
lea ebx, [edi + edx]
cmp ebx, dword [esi + 0xe58]
jle 0x10081fde
add ecx, esi
add ecx, 0x58
mov dword [eax], 0
mov dword [ecx], 0
jmp 0x1008201e
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
cmp eax, ecx
jne 0x1008165d
mov ebp, dword [esp]
mov ebx, dword [ebp]
nop dword [eax]
mov eax, ebx
dec ebx
test eax, eax
jle 0x100815a4
mov ecx, esi
mov edx, ebx
call fcn.10086420
test eax, eax
je 0x10081590
xor ecx, ecx
test ebx, ebx
cmovg ecx, ebx
mov dword [esi + 0x38], ecx
mov eax, dword [esi + 0x2c]
mov edx, dword [esi + 0x3c]
mov edi, dword [esi + 0x40]
cmp edx, edi
je 0x100815d9
cmp edx, eax
jle 0x10081b22
mov dword [esi + 0x3c], eax
mov edx, eax
cmp edi, eax
jg 0x10081b2a
cmp edx, edi
jne 0x100815d9
mov dword [ebp], edx
mov ecx, edx
cmp ecx, eax
jle 0x100821d1
mov dword [ebp], eax
jmp 0x100821d1
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
cmp edx, ecx
jne 0x100819a1
mov ebp, dword [esi + 0x2c]
mov ecx, dword [esi + 0x38]
inc ecx
nop
mov ebx, ecx
cmp ecx, ebp
jge 0x10081616
mov ecx, esi
mov edx, ebx
call fcn.10086420
lea ecx, [ebx + 1]
test eax, eax
je 0x10081600
cmp ebx, ebp
cmovl ebp, ebx
mov dword [esi + 0x38], ebp
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
cmp ecx, edx
je 0x1008164b
cmp ecx, eax
jle 0x10081b3c
mov dword [esi + 0x3c], eax
mov ecx, eax
cmp edx, eax
jg 0x10081b44
cmp ecx, edx
jne 0x1008164b
mov edx, dword [esp]
mov dword [edx], ecx
mov ebp, ecx
cmp ebp, eax
mov ecx, dword [esp]
jle 0x100821d1
mov dword [ecx], eax
jmp 0x100821d1
jle 0x10081664
mov dword [esi + 0x3c], ecx
mov eax, ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x40], eax
jmp 0x100821cd
cmp eax, edx
jne 0x10081a03
mov eax, dword [esi + 0x38]
mov dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
mov ecx, dword [esi + 0x2c]
jmp 0x10081bc8
cmp eax, edx
jne 0x10081a2f
mov eax, dword [esi + 0x38]
mov dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
mov ecx, dword [esi + 0x2c]
jmp 0x10081cf1
xor ecx, ecx
cmp ebp, 0x10000
cmovl ecx, ebp
test ecx, ecx
mov ebp, dword [esp]
jle 0x100821d1
mov word [esp + 0x1c], cx
cmp ecx, 0xa
jne 0x100816c9
test al, al
jne 0x100821d1
cmp byte [esi + 0x44], 0
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + 0x40]
je 0x100820c0
cmp eax, ebx
jne 0x100820c0
mov ebx, dword [esi + 0x38]
cmp ebx, dword [esi + 0x2c]
jge 0x100821f7
lea ecx, [esi + 0x50]
mov edx, ebx
push 1
push 1
call fcn.10086210
add esp, 8
test eax, eax
je 0x10081715
cmp dword [esi + 4], ebx
jle 0x1008229b
mov ecx, dword [esi + 0xc]
movzx ecx, word [ecx + ebx*2]
mov word [eax], cx
mov eax, dword [esi + 0xc]
mov ebx, dword [esi + 0x38]
lea edi, [eax + ebx*2]
lea eax, [eax + ebx*2]
add eax, 2
push eax
push edi
call fcn.10048d90
add esp, 8
sub dword [esi + 0x28], eax
dec dword [esi + 0x2c]
mov ecx, dword [esi + 0xc]
movzx eax, word [ecx + ebx*2 + 2]
test ax, ax
je 0x10081758
lea ecx, [ecx + ebx*2]
add ecx, 4
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10081747
mov word [edi], 0
mov edx, dword [esi + 0x38]
lea eax, [esp + 0x1c]
mov ecx, esi
push 1
push eax
call fcn.10085c90
add esp, 8
test al, al
je 0x100821d1
jmp 0x10082293
cmp edx, eax
jle 0x10081836
mov dword [esi + 0x3c], eax
mov edx, eax
cmp ecx, eax
jg 0x1008183e
cmp edx, ecx
jne 0x1008184b
cmp edx, eax
cmovl eax, edx
mov dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
mov ecx, eax
test ecx, ecx
jg 0x1008184f
jmp 0x10081853
mov edi, dword [esi + 0x2c]
cmp ecx, edi
jle 0x100817bf
mov dword [esi + 0x3c], edi
cmp eax, edi
jl 0x100817c8
mov dword [esi + 0x40], edi
mov edx, edi
mov dword [esi + 0x38], edx
jmp 0x100821cd
cmp ebx, edi
mov ebp, dword [esp]
jle 0x1008185b
mov dword [esi + 0x3c], edi
mov ebx, edi
cmp edx, edi
jg 0x1008185f
cmp ebx, edx
jne 0x100817ed
mov dword [ebp], ebx
mov edx, ebx
mov ecx, dword [ebp]
cmp ecx, edi
jle 0x100817f9
mov dword [ebp], edi
mov ecx, edi
cmp ebx, edx
jne 0x1008186a
mov dword [esi + 0x40], ecx
mov dword [esi + 0x3c], ecx
jmp 0x1008186f
cmp ebx, ecx
mov ebp, dword [esp]
jle 0x10081885
mov dword [esi + 0x3c], ecx
mov ebx, ecx
cmp edi, ecx
jg 0x10081889
cmp ebx, edi
jne 0x1008181e
mov dword [ebp], ebx
mov edi, ebx
mov edx, dword [ebp]
cmp edx, ecx
jle 0x1008182a
mov dword [ebp], ecx
mov edx, ecx
cmp ebx, edi
jne 0x10081894
mov dword [esi + 0x40], edx
mov dword [esi + 0x3c], edx
jmp 0x10081899
cmp ecx, eax
jle 0x10081793
mov dword [esi + 0x40], eax
mov ecx, eax
cmp edx, ecx
je 0x1008179b
test ecx, ecx
jle 0x10081853
dec ecx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x38], ecx
jmp 0x100821cd
cmp edx, edi
jle 0x100817e4
mov dword [esi + 0x40], edi
mov edx, edi
cmp ebx, edx
je 0x100817e8
jmp 0x100817ed
mov dword [ebp], edx
mov ecx, edx
test al, al
je 0x10081a5b
mov dword [ebp], 0
xor ecx, ecx
jmp 0x10081ab5
cmp edi, ecx
jle 0x10081815
mov dword [esi + 0x40], ecx
mov edi, ecx
cmp ebx, edi
je 0x10081819
jmp 0x1008181e
mov dword [ebp], edi
mov edx, edi
test al, al
je 0x10081a8b
mov dword [ebp], ecx
jmp 0x10081ab5
mov edi, dword [esp]
jle 0x10081b56
mov dword [esi + 0x40], ecx
mov eax, ecx
jmp 0x10081b5a
cmp ecx, edi
mov ebp, dword [esp]
jle 0x100819b1
mov dword [esi + 0x3c], edi
mov ecx, edi
cmp edx, edi
jg 0x100819b9
cmp ecx, edx
jne 0x100818dd
mov dword [ebp], ecx
mov edx, ecx
mov ebx, dword [ebp]
cmp ebx, edi
jle 0x1008193f
mov dword [ebp], edi
mov ebx, edi
cmp ecx, edx
je 0x10081943
jle 0x100818f4
mov dword [esi + 0x3c], edx
mov ecx, edx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x40], ecx
mov byte [esi + 0x47], 0
mov ebx, ecx
test al, al
jne 0x10081947
test ebx, ebx
jle 0x100821cd
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
lea edx, [ebx - 1]
cmp ebx, eax
jg 0x1008229b
cmp word [ecx + edx*2], 0xa
je 0x100821cd
mov dword [ebp], edx
mov edi, esi
lea esi, [edx - 1]
inc edx
cmp edx, 1
mov edx, esi
mov esi, edi
ja 0x10081915
jmp 0x100821cd
cmp ecx, edx
jne 0x100818ed
test al, al
je 0x10081904
mov dword [ebp], 0
jmp 0x100821cd
cmp edx, ecx
mov ebp, dword [esp]
jle 0x100819cb
mov dword [esi + 0x3c], ecx
mov edx, ecx
cmp edi, ecx
jg 0x100819cf
cmp edx, edi
jne 0x1008196c
mov dword [ebp], edx
mov edi, edx
mov ebx, dword [ebp]
cmp ebx, ecx
jle 0x10081978
mov dword [ebp], ecx
mov ebx, ecx
cmp edx, edi
je 0x1008198f
jle 0x10081983
mov dword [esi + 0x3c], edi
mov edx, edi
mov dword [esi + 0x38], edx
mov dword [esi + 0x40], edx
mov byte [esi + 0x47], 0
mov ebx, edx
mov edi, esi
test al, al
je 0x10081abd
mov dword [ebp], ecx
jmp 0x10081af4
jle 0x10081b7f
mov dword [esi + 0x40], edx
mov eax, edx
jmp 0x10081b83
cmp edx, edi
jle 0x100818d4
mov dword [esi + 0x40], edi
mov edx, edi
cmp ecx, edx
je 0x100818d8
jmp 0x100818dd
cmp edi, ecx
jle 0x10081963
mov dword [esi + 0x40], ecx
mov edi, ecx
cmp edx, edi
je 0x10081967
jmp 0x1008196c
jle 0x100819e1
mov dword [esi + 0x3c], edx
mov eax, edx
mov dword [esi + 0x38], eax
mov dword [esi + 0x40], eax
mov byte [esi + 0x47], 0
mov ecx, dword [esi + 0x2c]
jmp 0x10081bc8
jle 0x10081b9e
mov dword [esi + 0x40], eax
mov edi, eax
jmp 0x10081ba2
mov dword [esi + 0x38], edx
mov ecx, dword [esi + 0x2c]
cmp eax, ecx
jle 0x10081a12
mov dword [esi + 0x3c], ecx
mov eax, ecx
mov edi, edx
cmp edx, ecx
jle 0x10081a1d
mov dword [esi + 0x40], ecx
mov edi, ecx
cmp eax, edi
jne 0x10081bc6
mov edx, dword [esp]
mov dword [edx], eax
jmp 0x10081bc8
mov dword [esi + 0x38], edx
mov ecx, dword [esi + 0x2c]
cmp eax, ecx
jle 0x10081a3e
mov dword [esi + 0x3c], ecx
mov eax, ecx
mov edi, edx
cmp edx, ecx
jle 0x10081a49
mov dword [esi + 0x40], ecx
mov edi, ecx
cmp eax, edi
jne 0x10081cef
mov edx, dword [esp]
mov dword [edx], eax
jmp 0x10081cf1
test ecx, ecx
jle 0x10081ab5
mov eax, dword [esi + 4]
mov edi, dword [esi + 0xc]
mov edx, ecx
cmp ecx, eax
jg 0x1008229b
cmp word [edi + edx*2 - 2], 0xa
je 0x10081ab3
dec edx
mov dword [ebp], edx
mov ebx, esi
lea esi, [edx + 1]
cmp esi, 1
mov esi, ebx
ja 0x10081a67
xor ecx, ecx
jmp 0x10081ab5
cmp edx, ecx
jge 0x10081ab3
mov eax, dword [esi + 4]
mov edi, dword [esi + 0xc]
cmp edx, eax
cmovg eax, edx
cmp eax, edx
je 0x1008229b
cmp word [edi + edx*2], 0xa
je 0x10081ab3
inc edx
mov dword [ebp], edx
cmp ecx, edx
jne 0x10081a9a
jmp 0x10081ab5
mov ecx, edx
mov dword [esi + 0x40], ecx
jmp 0x100821cd
cmp ebx, ecx
jge 0x10081af4
mov edx, edi
mov eax, dword [edi + 4]
cmp ebx, eax
cmovg eax, ebx
mov edx, dword [edi + 0xc]
neg eax
inc ebx
neg ecx
lea esi, [eax + ebx]
cmp esi, 1
je 0x1008229b
cmp word [edx + ebx*2 - 2], 0xa
je 0x10081af4
mov dword [ebp], ebx
lea esi, [ecx + ebx]
inc esi
inc ebx
cmp esi, 1
jne 0x10081ad3
mov esi, edi
mov byte [edi + 0x47], 0
jmp 0x100821d1
mov ecx, esi
jmp 0x10081b08
mov ecx, esi
mov ebp, dword [esp]
mov edx, ebp
push edi
push ebx
call fcn.10086150
add esp, 8
mov eax, dword [esi + 0x40]
mov dword [esi + 0x3c], eax
mov dword [ebp], eax
jmp 0x100821cd
cmp edi, eax
jle 0x100815d0
mov dword [esi + 0x40], eax
mov edi, eax
cmp edx, edi
je 0x100815d4
jmp 0x100815d9
cmp edx, eax
jle 0x10081640
mov dword [esi + 0x40], eax
mov edx, eax
cmp ecx, edx
je 0x10081644
jmp 0x1008164b
mov eax, edx
mov edx, ecx
mov ecx, dword [esi + 0x2c]
cmp edx, eax
je 0x10081b6a
cmp eax, ecx
jle 0x10081b6a
mov dword [esi + 0x40], ecx
mov eax, ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
cmp eax, ecx
jle 0x100821cd
mov dword [edi], ecx
jmp 0x100821cd
mov eax, ecx
mov ecx, edx
cmp ecx, eax
je 0x10081b93
mov ecx, dword [esi + 0x2c]
cmp eax, ecx
jle 0x10081b93
mov dword [esi + 0x40], ecx
mov eax, ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
jmp 0x100821cd
mov edi, edx
mov edx, eax
cmp edx, edi
je 0x10081bb2
mov eax, dword [esi + 0x2c]
cmp edi, eax
jle 0x10081bb2
mov dword [esi + 0x40], eax
mov edi, eax
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], edi
mov byte [esi + 0x47], 0
mov ecx, dword [esi + 0x2c]
mov eax, edi
jmp 0x10081cf1
mov eax, edx
cmp eax, ecx
jle 0x10081bd3
mov eax, dword [esp]
mov dword [eax], ecx
mov eax, ecx
lea ebx, [esp + 0x1c]
mov ecx, ebx
mov edx, esi
push 0
push eax
call fcn.10085e10
add esp, 8
mov edx, dword [esp + 0x30]
cmp edx, dword [esp + 0x28]
je 0x100821d1
lea ecx, [esi + 0x4c]
cmp byte [esi + 0x47], 0
cmove ecx, ebx
movss xmm0, dword [ecx]
mov dword [esi + 0x38], edx
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x10], eax
lea ebx, [ecx + eax*2]
mov eax, edx
mov dword [esp + 0xc], ecx
lea edx, [ecx + edx*2]
mov ecx, edx
nop dword [eax]
cmp ecx, ebx
jae 0x10081c31
lea edi, [ecx + 2]
cmp word [ecx], 0xa
mov ecx, edi
jne 0x10081c20
jmp 0x10081c33
mov edi, ecx
sub edi, edx
test edi, edi
jle 0x10081e1f
shr edi, 1
cmp edi, 2
mov ecx, 1
cmovge ecx, edi
mov edx, dword [esi + 4]
mov edi, dword [0x1025afd0]
mov dword [esp + 0x18], edi
mov edi, eax
cmp eax, edx
cmovg edx, eax
mov dword [esp + 8], edx
xorps xmm1, xmm1
movss xmm2, dword [0x101a97b0]
mov ebx, dword [esp + 0x18]
cmp dword [esp + 8], edi
je 0x1008229b
mov eax, dword [esp + 0xc]
movzx edx, word [eax + edi*2]
cmp edx, 0xa
je 0x10081e29
mov dword [esp + 0x14], ecx
mov dword [esp + 4], edi
mov eax, esi
mov esi, dword [ebx + 0x18fc]
lea ecx, [edx*4]
add ecx, dword [esi + 8]
lea edi, [esi + 0xc]
cmp dword [esi], edx
cmovg edi, ecx
movss xmm3, dword [ebx + 0x1900]
divss xmm3, dword [esi + 0x10]
mulss xmm3, dword [edi]
ucomiss xmm3, xmm2
jne 0x10081cca
jnp 0x10081e23
addss xmm1, xmm3
ucomiss xmm1, xmm0
mov esi, eax
mov edi, dword [esp + 4]
ja 0x10081e29
inc edi
mov eax, dword [esp]
mov dword [eax], edi
mov ecx, dword [esp + 0x14]
dec ecx
jne 0x10081c71
jmp 0x10081e29
mov eax, edx
cmp eax, ecx
jle 0x10081cfc
mov eax, dword [esp]
mov dword [eax], ecx
mov eax, ecx
lea ebx, [esp + 0x1c]
mov ecx, ebx
mov edx, esi
push 0
push eax
call fcn.10085e10
add esp, 8
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x100821d1
cmp byte [esi + 0x47], 0
lea ecx, [esi + 0x4c]
cmove ecx, ebx
movss xmm0, dword [ecx]
add edx, dword [esp + 0x28]
mov dword [esi + 0x38], edx
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x10], eax
lea ebx, [ecx + eax*2]
mov eax, edx
mov dword [esp + 0xc], ecx
lea edx, [ecx + edx*2]
mov ecx, edx
nop dword [eax + eax]
cmp ecx, ebx
jae 0x10081d61
lea edi, [ecx + 2]
cmp word [ecx], 0xa
mov ecx, edi
jne 0x10081d50
jmp 0x10081d63
mov edi, ecx
sub edi, edx
test edi, edi
jle 0x10081e1f
shr edi, 1
cmp edi, 2
mov ecx, 1
cmovge ecx, edi
mov edx, dword [esi + 4]
mov edi, dword [0x1025afd0]
mov dword [esp + 0x18], edi
mov edi, eax
cmp edx, eax
cmovle edx, eax
mov dword [esp + 8], edx
xorps xmm1, xmm1
movss xmm2, dword [0x101a97b0]
mov ebx, dword [esp + 0x18]
nop word cs:[eax + eax]
cmp dword [esp + 8], edi
je 0x1008229b
mov eax, dword [esp + 0xc]
movzx edx, word [eax + edi*2]
cmp edx, 0xa
je 0x10081e29
mov dword [esp + 0x14], ecx
mov dword [esp + 4], edi
mov eax, esi
mov ecx, dword [ebx + 0x18fc]
lea esi, [edx*4]
add esi, dword [ecx + 8]
lea edi, [ecx + 0xc]
cmp dword [ecx], edx
cmovg edi, esi
movss xmm3, dword [ebx + 0x1900]
divss xmm3, dword [ecx + 0x10]
mulss xmm3, dword [edi]
ucomiss xmm3, xmm2
jne 0x10081e01
jnp 0x10081e23
addss xmm1, xmm3
ucomiss xmm1, xmm0
mov esi, eax
mov edi, dword [esp + 4]
ja 0x10081e29
inc edi
mov eax, dword [esp]
mov dword [eax], edi
mov ecx, dword [esp + 0x14]
dec ecx
jne 0x10081db0
jmp 0x10081e29
mov edi, eax
jmp 0x10081e29
mov esi, eax
mov edi, dword [esp + 4]
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
cmp ecx, edx
je 0x10081e4f
mov eax, dword [esp + 0x10]
cmp ecx, eax
jle 0x10081e77
mov dword [esi + 0x3c], eax
mov ecx, eax
cmp edx, eax
jg 0x10081e7b
cmp ecx, edx
jne 0x10081e4f
mov eax, dword [esp]
mov dword [eax], ecx
mov edi, ecx
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jle 0x10081e5e
mov eax, dword [esp]
mov dword [eax], ecx
mov edi, ecx
mov byte [esi + 0x47], 1
movss dword [esi + 0x4c], xmm0
test ebp, ebp
je 0x100821d1
mov dword [esi + 0x40], edi
jmp 0x100821d1
cmp edx, eax
jle 0x10081e44
mov edx, dword [esp + 0x10]
mov dword [esi + 0x40], edx
cmp ecx, edx
je 0x10081e48
jmp 0x10081e4f
mov eax, dword [esi + 0xe58]
cmp ecx, eax
jle 0x100820d2
lea ecx, [esi + 0x680]
mov dword [esp + 4], ecx
movzx ecx, word [esi + 0xe50]
lea edi, [esi + 0x6c]
mov dword [esp + 0x18], edi
mov dword [esp + 8], ebp
jmp 0x10081f14
movsx eax, cx
test cx, cx
js 0x1008229b
shl eax, 4
mov ecx, 0x620
sub ecx, eax
lea edx, [ebx + eax]
lea edi, [ecx + edx]
add edi, 0x10
cmp edi, dword [esp + 4]
ja 0x1008229b
add eax, ebx
add eax, 0x10
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov ecx, dword [esi + 0xe50]
mov edx, dword [esi + 0xe54]
inc ecx
mov word [esi + 0xe50], cx
mov eax, dword [esi + 0xe58]
mov edi, dword [esp]
add edi, edx
cmp edi, eax
jle 0x100820d9
cmp cx, 0x63
je 0x100821cd
jge 0x10081f07
cmp dword [esi + 0x67c], 0
js 0x10081eb4
mov edi, dword [esi + 0x674]
lea ecx, [edi + eax]
mov dword [esi + 0xe58], ecx
mov ebp, dword [esp + 4]
lea edx, [ecx*2]
add edx, ebp
lea eax, [eax*2]
add eax, ebp
add ecx, ecx
mov ebp, 0x7ce
sub ebp, ecx
push ebp
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
movsx eax, word [esi + 0xe50]
cmp eax, 0x61
jg 0x10081f9e
mov ecx, eax
test al, 1
mov ebp, dword [esp + 8]
je 0x10081f91
mov edx, eax
shl edx, 4
mov ecx, dword [ebx + edx + 0xc]
test ecx, ecx
js 0x10081f8e
add edx, ebx
add edx, 0xc
add ecx, edi
mov dword [edx], ecx
lea ecx, [eax + 1]
cmp ax, 0x61
jne 0x10081fa7
mov ecx, eax
jmp 0x10081eb7
mov ebp, dword [esp + 8]
jmp 0x10081ec0
lea edx, [ecx - 0x62]
shl ecx, 4
add ecx, dword [esp + 0x18]
jmp 0x10081fbb
add ecx, 0x20
add edx, 2
je 0x10081fd3
mov ebp, dword [ecx - 0x10]
test ebp, ebp
js 0x10081fc7
add ebp, edi
mov dword [ecx - 0x10], ebp
mov ebp, dword [ecx]
test ebp, ebp
js 0x10081fb3
add ebp, edi
mov dword [ecx], ebp
jmp 0x10081fb3
mov ecx, eax
mov ebp, dword [esp + 8]
jmp 0x10081eb7
lea edx, [esi + ecx]
add edx, 0x5c
mov dword [edx], edi
mov dword [esi + 0xe54], ebx
cmp dword [eax], 0
jle 0x1008201e
add ecx, esi
add ecx, 0x50
xor edi, edi
mov ebx, dword [ecx]
add ebx, edi
cmp dword [esi + 4], ebx
jle 0x1008229b
mov ebp, dword [esi + 0xc]
movzx ebx, word [ebp + ebx*2]
mov ebp, dword [edx]
add ebp, edi
mov word [esi + ebp*2 + 0x680], bx
inc edi
cmp edi, dword [eax]
jl 0x10081ff8
mov ebx, dword [esp]
lea eax, [ebx + ebx]
mov edi, dword [esi + 0xc]
mov dword [esp + 8], eax
add edi, eax
mov ebp, dword [esp + 0xc]
lea eax, [edi + ebp*2]
push eax
push edi
call fcn.10048d90
add esp, 8
sub dword [esi + 0x28], eax
sub dword [esi + 0x2c], ebp
mov ecx, dword [esi + 0xc]
lea eax, [ecx + ebx*2]
movzx eax, word [eax + ebp*2]
test ax, ax
je 0x10082071
mov edx, dword [esp + 8]
lea edx, [edx + ebp*2]
add ecx, edx
add ecx, 2
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10082060
mov word [edi], 0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x14]
test edi, edi
je 0x1008209e
lea eax, [esi + eax*2]
add eax, 0x680
mov ecx, esi
mov edx, ebx
push edi
push eax
call fcn.10085c90
add esp, 8
add dword [esi + 0xe58], edi
add edi, ebx
mov dword [esi + 0x38], edi
movd xmm0, dword [esi + 0xe4e]
pcmpeqd xmm1, xmm1
psubw xmm0, xmm1
movd dword [esi + 0xe4e], xmm0
jmp 0x100821cd
mov ecx, dword [esi + 0x2c]
cmp eax, ebx
jne 0x100821fc
mov eax, ebx
jmp 0x10082221
movzx ecx, word [esi + 0xe50]
movsx ecx, cx
shl ecx, 4
mov edx, dword [esp]
sub eax, edx
mov dword [ecx + ebx - 4], eax
mov dword [esi + 0xe58], eax
test edx, edx
jle 0x10082125
lea eax, [ecx + ebx]
add eax, 0xfffffffc
mov ecx, ebp
add ecx, ebp
xor edx, edx
lea edi, [edx + ebp]
cmp dword [esi + 4], edi
jle 0x1008229b
mov edi, dword [esi + 0xc]
add edi, ecx
movzx edi, word [edi + edx*2]
mov ebx, dword [eax]
add ebx, edx
mov word [esi + ebx*2 + 0x680], di
inc edx
cmp dword [esp], edx
jne 0x100820fe
mov eax, ebp
add eax, ebp
mov edi, dword [esi + 0xc]
mov dword [esp + 4], eax
add edi, eax
mov ebx, dword [esp]
lea eax, [edi + ebx*2]
push eax
push edi
call fcn.10048d90
add esp, 8
sub dword [esi + 0x28], eax
sub dword [esi + 0x2c], ebx
mov ecx, dword [esi + 0xc]
lea eax, [ecx + ebp*2]
movzx eax, word [eax + ebx*2]
test ax, ax
je 0x10082183
mov edx, dword [esp + 4]
lea edx, [edx + ebx*2]
add ecx, edx
add ecx, 2
mov edx, dword [esp + 0xc]
nop word [eax + eax]
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10082170
jmp 0x10082187
mov edx, dword [esp + 0xc]
mov word [edi], 0
mov edi, dword [esp + 0x14]
test edi, edi
je 0x100821b0
lea eax, [esi + edx*2]
add eax, 0x680
mov ecx, esi
mov edx, ebp
push edi
push eax
call fcn.10085c90
add esp, 8
sub dword [esi + 0xe54], edi
add edi, ebp
mov dword [esi + 0x38], edi
movd xmm0, dword [esi + 0xe4e]
pcmpeqd xmm1, xmm1
paddw xmm1, xmm0
movd dword [esi + 0xe4e], xmm1
mov byte [esi + 0x47], 0
mov byte [esi + 0xe60], 1
mov dword [esi + 0xe5c], 0xbe99999a
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.10157981
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov ecx, dword [esi + 0x2c]
jmp 0x1008221f
cmp eax, ecx
jle 0x1008220f
mov dword [esi + 0x3c], ecx
mov eax, ecx
cmp ebx, ecx
jg 0x10082213
cmp eax, ebx
je 0x1008221c
jmp 0x10082221
cmp ebx, ecx
jle 0x10082209
mov dword [esi + 0x40], ecx
mov ebx, ecx
cmp eax, ebx
jne 0x10082221
mov dword [ebp], eax
mov ebx, eax
mov edx, dword [ebp]
cmp edx, ecx
jle 0x1008222d
mov dword [ebp], ecx
mov edx, ecx
mov edi, eax
sub edi, ebx
je 0x10082268
jge 0x1008224d
sub ebx, eax
mov ecx, esi
mov edx, ebp
push ebx
push eax
call fcn.10086150
add esp, 8
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
jmp 0x10082261
mov ecx, esi
mov edx, ebp
push edi
push ebx
call fcn.10086150
add esp, 8
mov edx, dword [esi + 0x40]
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], edx
mov byte [esi + 0x47], 0
lea eax, [esp + 0x1c]
mov ecx, esi
push 1
push eax
call fcn.10085c90
add esp, 8
test al, al
je 0x100821d1
mov edx, dword [esi + 0x38]
lea ecx, [esi + 0x50]
push 1
push 0
call fcn.10086210
add esp, 8
inc dword [esi + 0x38]
jmp 0x100821cd
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3