Function at 0x1005ff30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x140
mov esi, dword [ebp + 8]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], edx
cmp dword [esi + 0xc], 1
jne 0x10060355
mov esi, dword [esp + 0x28]
mov ecx, edx
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
mov esi, dword [esi + 0x2c]
mov edi, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], esi
xor eax, 0x6e657261
xor edi, 0x70736575
mov dword [esp + 0x58], edi
mov edi, ebx
xor ebx, 0x6c796765
xor edi, 0x736f6d65
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], eax
mov eax, edx
mov dword [esp + 0x64], ebx
xor edx, 0x79746573
xor eax, 0x6e646f6d
mov dword [esp + 0x68], eax
mov eax, esi
xor esi, 0x74656462
xor eax, 0x646f7261
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
lea edx, [esp + 0x48]
mov dword [esp + 0x74], esi
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
call fcn.10062170
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x5c]
shl edx, 0x18
xor esi, edi
mov dword [esp + 0x120], edi
mov edi, eax
or edx, dword [esp + 0x7c]
mov dword [esp + 0x1c], edx
xor ecx, edx
mov edx, dword [esp + 0x58]
add edx, eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x6c]
adc ebx, edx
shld edi, edx, 0xd
shld edx, eax, 0xd
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
xor edx, ebx
mov ebx, dword [esp + 0x14]
xor edi, ebx
add eax, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
adc eax, ecx
mov dword [esp + 0xb0], eax
mov eax, esi
shrd esi, ecx, 0x10
shld eax, ecx, 0x10
xor esi, dword [esp + 0xb0]
xor eax, dword [esp + 0x10]
add dword [esp + 0xc], eax
mov ecx, eax
adc ebx, esi
shld ecx, esi, 0x15
shrd eax, esi, 0xb
mov esi, edi
xor eax, ebx
xor ecx, dword [esp + 0xc]
add dword [esp + 0x10], edi
adc dword [esp + 0xb0], edx
shld esi, edx, 0x11
shrd edi, edx, 0xf
mov edx, ebx
mov ebx, dword [esp + 0x120]
xor esi, dword [esp + 0x10]
xor edx, dword [esp + 0x1c]
mov dword [esp + 0x1c], 0x10
xor dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xb0]
xor edi, ebx
xor ebx, 0xff
add dword [esp + 0xc], esi
adc edx, edi
mov dword [esp + 0x14], edx
mov edx, esi
shrd esi, edi, 0x13
shld edx, edi, 0xd
xor esi, dword [esp + 0x14]
mov edi, ecx
xor edx, dword [esp + 0xc]
add ebx, ecx
adc dword [esp + 0x10], eax
shld edi, eax, 0x10
shrd ecx, eax, 0x10
xor edi, ebx
xor ecx, dword [esp + 0x10]
add dword [esp + 0x14], edi
mov eax, edi
adc dword [esp + 0xc], ecx
shld eax, ecx, 0x15
shrd edi, ecx, 0xb
mov ecx, edx
xor edi, dword [esp + 0xc]
xor eax, dword [esp + 0x14]
add ebx, edx
adc dword [esp + 0x10], esi
shld ecx, esi, 0x11
shrd edx, esi, 0xf
xor ecx, ebx
xor edx, dword [esp + 0x10]
add dword [esp + 0x14], ecx
mov esi, ecx
adc dword [esp + 0xc], edx
shld esi, edx, 0xd
shrd ecx, edx, 0x13
mov edx, eax
xor ecx, dword [esp + 0xc]
xor esi, dword [esp + 0x14]
add dword [esp + 0x10], eax
adc ebx, edi
shld edx, edi, 0x10
shrd eax, edi, 0x10
xor edx, dword [esp + 0x10]
xor eax, ebx
add dword [esp + 0xc], edx
mov edi, edx
adc dword [esp + 0x14], eax
shld edi, eax, 0x15
shrd edx, eax, 0xb
mov eax, esi
xor edx, dword [esp + 0x14]
xor edi, dword [esp + 0xc]
add dword [esp + 0x10], esi
adc ebx, ecx
shld eax, ecx, 0x11
shrd esi, ecx, 0xf
xor eax, dword [esp + 0x10]
xor esi, ebx
add dword [esp + 0xc], eax
mov ecx, eax
adc dword [esp + 0x14], esi
shld ecx, esi, 0xd
shrd eax, esi, 0x13
mov esi, edi
xor ecx, dword [esp + 0xc]
xor eax, dword [esp + 0x14]
add ebx, edi
adc dword [esp + 0x10], edx
shld esi, edx, 0x10
shrd edi, edx, 0x10
mov edx, dword [esp + 0x10]
xor esi, ebx
xor edi, edx
shld esi, edi, 0x15
add ebx, ecx
adc edx, eax
shrd eax, ecx, 0xf
mov ecx, dword [esp + 0x28]
xor eax, esi
xor eax, edx
xor eax, ebx
mov edi, dword [ecx + 0x30]
mov esi, dword [ecx + 0x34]
mov ecx, edi
mov dword [esp + 0xc], edi
and ecx, eax
shr eax, 0x19
movd xmm0, eax
movdqu xmm1, xmmword [esi + ecx]
lea edx, [ecx + 0x10]
mov dword [esp + 0x10], ecx
punpcklbw xmm0, xmm0
and edx, edi
pshuflw xmm0, xmm0, 0xe0
mov dword [esp + 0x14], edx
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x120], xmm0
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0xb0], xmm1
pcmpeqd xmm1, xmm1
pmovmskb ebx, xmm0
test bx, bx
je 0x100602f0
mov edi, dword [esp + 0x10]
mov eax, ebx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], edi
lea ebx, [eax - 1]
and ebx, eax
bsf ax, ax
movzx eax, ax
add eax, edi
and eax, dword [esp + 0xc]
neg eax
lea edi, [eax + eax*8]
lea edx, [esi + edi*4 - 0x24]
call fcn.10035240
pcmpeqd xmm1, xmm1
test al, al
je 0x10060231
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
cmp eax, dword [esi + edi*4 - 0x18]
jne 0x10060231
mov ecx, dword [esp + 0x18]
mov edx, esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], edx
mov edx, dword [edx + edi*4 - 0x1c]
xor edi, edi
mov esi, dword [ecx + 8]
nop dword [eax]
cmp eax, edi
je 0x10060a9d
movzx ecx, byte [esi + edi]
mov bh, byte [edx + edi]
inc edi
mov bl, cl
add bl, 0xbf
cmp bl, 0x1a
setb ch
shl ch, 5
or ch, cl
mov cl, bh
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, bh
cmp ch, cl
je 0x100602a0
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
jmp 0x10060231
movdqa xmm0, xmmword [esp + 0xb0]
mov ecx, esi
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [ebp + 8]
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
test ax, ax
jne 0x10060355
mov edx, dword [esp + 0x1c]
movdqu xmm2, xmmword [ecx + edi]
movdqa xmm0, xmmword [esp + 0x120]
mov esi, ecx
lea eax, [edi + edx + 0x10]
pcmpeqb xmm0, xmm2
add edx, 0x10
movdqa xmmword [esp + 0xb0], xmm2
and eax, dword [esp + 0xc]
pmovmskb ebx, xmm0
mov dword [esp + 0x1c], edx
test bx, bx
mov dword [esp + 0x14], eax
je 0x100602f0
jmp 0x1006023e
mov eax, dword [0x104debf8]
cmp eax, 5
jb 0x10060364
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
dec eax
cmp eax, 5
jb 0x1006047b
mov ecx, dword [0x104d4d8c]
test ecx, ecx
je 0x1006047b
mov al, 1
cmp ecx, 1
je 0x10060393
cmp ecx, 2
jne 0x10060bc6
mov al, 2
movzx edx, al
mov ecx, 0x104d4d8c
call fcn.10109d10
mov edx, dword [esp + 0x18]
test al, al
je 0x1006047b
mov ecx, dword [0x104d4d90]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1006196f
mov ebx, esi
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0xe8], 0
mov dword [esp + 0x48], 0x10419aa4
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 0
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], esi
lea esi, [esp + 0xe8]
lea edx, [esp + 0x108]
mov dword [esp + 0xf8], edi
mov dword [esp + 0x88], esi
lea esi, [esp + 0x88]
mov dword [esp + 0x58], edx
lea edx, [esp + 0x48]
mov dword [esp + 0x5c], 1
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x8c], edx
lea edx, [ecx + 0x2c]
mov dword [esp + 0x34], 1
mov dword [esp + 0x90], 0x10419960
mov dword [esp + 0x38], edx
lea edx, [esp + 0x30]
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], 0x100619e0
call fcn.1010a570
mov edx, esi
mov esi, ebx
mov eax, dword [esi + 0x18]
movsd xmm0, qword [esi + 0x10]
movq xmm1, qword [esi + 8]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x28]
movsd qword [esp + 0x98], xmm0
movq xmm0, qword [esi]
movq qword [esp + 0x90], xmm1
lea ecx, [eax + 0x40]
movq qword [esp + 0x88], xmm0
mov dword [esp + 0xe4], ecx
call fcn.10062280
test eax, eax
je 0x10060c11
mov ebx, eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp ecx, eax
je 0x10060bea
mov dword [esp + 0x10], ebx
jmp 0x100604fd
cmp eax, 2
je 0x10060be1
nop word [eax + eax]
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
cmp ecx, eax
je 0x10060bea
mov edx, dword [ebx + 0xc]
mov edi, dword [ebx + 8]
lea esi, [ecx + 1]
dec edx
and edx, esi
mov dword [ebx], edx
mov ecx, dword [edi + ecx*4]
test ecx, ecx
je 0x10060be6
mov dword [esp + 0xd0], ecx
mov bl, 1
movzx eax, byte [ecx + 0x40]
test al, al
jne 0x100607eb
movzx eax, byte [esp + 0x90]
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
mov byte [esp + 0x1c], al
movzx eax, byte [esp + 0x91]
mov byte [esp + 0xb0], al
movzx eax, word [esp + 0x92]
mov word [esp + 0x20], ax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x94], 2
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
cmp eax, 1
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], edx
je 0x100605b3
cmp eax, 2
je 0x1006192d
mov eax, dword [esp + 0xa0]
mov ebx, esi
movzx esi, word [esp + 0x20]
xor edx, edx
mov dword [esp + 0x120], eax
jmp 0x10060674
test esi, esi
je 0x100605c4
push esi
call dword [edi + 0xc]
add esp, 4
mov ebx, eax
mov ecx, edx
jmp 0x100605c6
xor ebx, ebx
mov eax, dword [esp + 0xc]
lock inc dword [eax]
jle 0x10061941
mov eax, dword [esp + 0x14]
lock inc dword [eax + 0x20]
lock inc dword [eax]
jle 0x10061941
cmp dword [esp + 0x94], 2
je 0x10060608
mov dword [esp + 0x138], ecx
lea ecx, [esp + 0x88]
call fcn.1005fe10
mov ecx, dword [esp + 0x138]
movzx eax, byte [esp + 0x1c]
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], edi
movzx esi, word [esp + 0x20]
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x14]
mov byte [esp + 0x90], al
movzx eax, byte [esp + 0xb0]
mov byte [esp + 0x91], al
mov word [esp + 0x92], si
mov dword [esp + 0x94], 1
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x9c], edi
mov edi, ecx
mov dword [esp + 0xa0], edx
mov edx, 1
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x48], eax
movzx ecx, byte [eax + 0x40]
test cl, cl
jne 0x10060694
mov cl, 1
xchg byte [eax + 0x24], cl
test cl, cl
je 0x10060998
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ebx
movzx ebx, byte [esp + 0xb0]
movzx eax, byte [esp + 0x1c]
mov word [esp + 0xa4], si
mov esi, dword [esp + 0x14]
mov dword [esp + 0xcc], edi
mov edi, edx
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x120]
mov byte [esp + 0xac], bl
mov ebx, dword [esp + 0x10]
mov byte [esp + 0x2c], al
mov dword [esp + 0xa8], esi
mov dword [esp + 0xc4], ecx
mov esi, dword [esp + 0x48]
mov al, 1
xchg byte [esi + 0x40], al
mov al, 1
xchg byte [esi + 0x30], al
test al, al
jne 0x1006071b
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x28]
mov dword [esi + 0x2c], 0
mov edx, 0
xchg byte [esi + 0x30], dl
test ecx, ecx
je 0x1006071b
push eax
call dword [ecx + 4]
add esp, 4
mov al, 1
xchg byte [esi + 0x3c], al
test al, al
jne 0x10060741
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x38], 0
test ecx, ecx
je 0x1006073c
push eax
call dword [ecx + 0xc]
add esp, 4
xor eax, eax
xchg byte [esi + 0x3c], al
mov eax, dword [esp + 0x48]
lock dec dword [eax]
jne 0x10060753
lea ecx, [esp + 0x48]
call fcn.100620a0
mov eax, dword [esp + 0x94]
cmp edi, 2
je 0x100604de
cmp eax, 2
je 0x10060774
lea ecx, [esp + 0x88]
call fcn.1005fe10
mov eax, dword [esp + 0x24]
movzx esi, word [esp + 0xa4]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xa8]
xor ebx, ebx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x8c], eax
movzx eax, byte [esp + 0x2c]
mov byte [esp + 0x90], al
movzx eax, byte [esp + 0xac]
mov byte [esp + 0x91], al
mov word [esp + 0x92], si
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ecx
mov eax, dword [0x104debf8]
cmp eax, 5
jb 0x100607fa
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
dec eax
cmp eax, 5
jb 0x10060910
mov ecx, dword [0x104d4d98]
test ecx, ecx
je 0x10060910
mov al, 1
cmp ecx, 1
je 0x10060829
cmp ecx, 2
jne 0x10060a34
mov al, 2
movzx edx, al
mov ecx, 0x104d4d98
call fcn.10109d10
test al, al
je 0x10060910
mov ecx, dword [0x104d4d9c]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x10061945
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0xe8], 0
mov dword [esp + 0x48], 0x10419b10
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 0
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], esi
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x30]
lea eax, [ecx + 0x2c]
mov dword [esp + 0xf8], edi
mov dword [esp + 0x108], edx
lea edx, [esp + 0xd8]
mov dword [esp + 0x10c], 1
mov dword [esp + 0x110], eax
mov dword [esp + 0x58], edx
lea edx, [esp + 0x48]
mov dword [esp + 0x5c], 1
mov dword [esp + 0xd8], esi
lea esi, [esp + 0xe8]
mov dword [esp + 0xdc], 0x100619e0
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edx
lea edx, [esp + 0x108]
mov dword [esp + 0x38], 0x10419960
call fcn.1010a570
nop word [eax + eax]
test bl, bl
mov ebx, dword [esp + 0x10]
je 0x100604f0
mov esi, dword [esp + 0xd0]
mov al, 1
xchg byte [esi + 0x40], al
mov al, 1
xchg byte [esi + 0x30], al
test al, al
jne 0x10060951
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x28]
mov dword [esi + 0x2c], 0
mov edx, 0
xchg byte [esi + 0x30], dl
test ecx, ecx
je 0x10060951
push eax
call dword [ecx + 4]
add esp, 4
mov al, 1
xchg byte [esi + 0x3c], al
test al, al
jne 0x10060977
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x38], 0
test ecx, ecx
je 0x10060972
push eax
call dword [ecx + 0xc]
add esp, 4
xor eax, eax
xchg byte [esi + 0x3c], al
mov eax, dword [esp + 0xd0]
lock dec dword [eax]
jne 0x100604f0
lea ecx, [esp + 0xd0]
call fcn.100620a0
jmp 0x100604f0
cmp dword [eax + 0x14], 2
jne 0x10061956
movzx ecx, byte [esp + 0x1c]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov edi, 2
mov byte [eax + 0x10], cl
movzx ecx, byte [esp + 0xb0]
mov byte [eax + 0x11], cl
mov ecx, dword [esp + 0xc]
mov word [eax + 0x12], si
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x120]
mov dword [eax + 0x20], ecx
xor ecx, ecx
xchg byte [eax + 0x24], cl
movzx ecx, byte [eax + 0x40]
test cl, cl
je 0x10060a94
mov cl, 1
xchg byte [eax + 0x24], cl
mov ebx, dword [esp + 0x10]
test cl, cl
jne 0x100606e9
mov edi, dword [eax + 0x14]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
movzx ebx, byte [eax + 0x10]
mov bh, byte [eax + 0x11]
movzx esi, word [eax + 0x12]
mov dword [eax + 0x14], 2
cmp edi, 2
jne 0x10060a4b
xor ecx, ecx
mov edi, 2
xchg byte [eax + 0x24], cl
mov ebx, dword [esp + 0x10]
jmp 0x100606e9
mov ecx, 0x104d4d98
call fcn.10109c60
test al, al
jne 0x10060829
jmp 0x10060910
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 0x20]
mov dword [esp + 0xc4], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0xc8], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0xa8], ecx
xor ecx, ecx
xchg byte [eax + 0x24], cl
mov dword [esp + 0xcc], edx
mov byte [esp + 0x2c], bl
mov byte [esp + 0xac], bh
mov word [esp + 0xa4], si
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x10]
jmp 0x100606e9
mov eax, dword [0x104debf8]
cmp eax, 5
jb 0x10060aac
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
mov esi, dword [ebp + 8]
dec eax
cmp eax, 5
jb 0x10060bbf
mov ecx, dword [0x104d4d80]
test ecx, ecx
je 0x10060bbf
mov al, 1
cmp ecx, 1
je 0x10060ade
cmp ecx, 2
jne 0x100618f3
mov al, 2
movzx edx, al
mov ecx, 0x104d4d80
call fcn.10109d10
test al, al
je 0x10060bbf
mov ecx, dword [0x104d4d84]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x100619c4
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0xe8], 0
mov dword [esp + 0x48], 0x10419a8c
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 0
mov dword [esp + 0xec], edx
lea edx, [esp + 0xe8]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], edi
lea edi, [esp + 0x108]
mov dword [esp + 0x88], edx
lea edx, [esp + 0x88]
mov dword [esp + 0x58], edi
lea edi, [esp + 0x48]
mov dword [esp + 0x5c], 1
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x8c], edi
lea edi, [ecx + 0x2c]
mov dword [esp + 0x34], 1
mov dword [esp + 0x90], 0x10419960
mov dword [esp + 0x38], edi
mov dword [esp + 0x108], edx
lea edx, [esp + 0x30]
mov dword [esp + 0x10c], 0x100619e0
call fcn.1010a570
mov esi, dword [ebp + 8]
mov ecx, esi
jmp 0x10061781
mov ecx, 0x104d4d8c
call fcn.10109c60
mov edx, dword [esp + 0x18]
test al, al
jne 0x10060393
jmp 0x1006047b
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
cmp edx, eax
jne 0x10060c11
mov edx, dword [esp + 0xe4]
lea ecx, [esp + 0x48]
push dword [esp + 0x18]
call fcn.10062680
add esp, 4
cmp dword [esp + 0x50], 0
je 0x10060c11
lea ecx, [esp + 0x48]
call fcn.10061ef0
cmp dword [esp + 0x94], 2
jne 0x10060d4a
mov eax, dword [0x104debf8]
mov edx, dword [esp + 0x18]
cmp eax, 5
jb 0x10060c32
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
dec eax
cmp eax, 5
jb 0x1006178a
mov ecx, dword [0x104d4dbc]
test ecx, ecx
je 0x1006178a
mov al, 1
cmp ecx, 1
je 0x10060c61
cmp ecx, 2
jne 0x100618aa
mov al, 2
movzx edx, al
mov ecx, 0x104d4dbc
call fcn.10109d10
mov edx, dword [esp + 0x18]
test al, al
je 0x1006178a
mov ecx, dword [0x104d4dc0]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x10061991
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0xe8], 0
mov dword [esp + 0x48], 0x10419b60
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 0
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], esi
lea esi, [esp + 0xe8]
lea edx, [esp + 0xd8]
mov dword [esp + 0xf8], edi
mov dword [esp + 0x30], esi
lea esi, [esp + 0x30]
mov dword [esp + 0x58], edx
lea edx, [esp + 0x48]
mov dword [esp + 0x5c], 1
mov dword [esp + 0x108], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x34], edx
lea edx, [ecx + 0x2c]
mov dword [esp + 0x10c], 1
mov dword [esp + 0x38], 0x10419960
mov dword [esp + 0x110], edx
lea edx, [esp + 0x108]
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], 0x100619e0
call fcn.1010a570
mov edx, esi
jmp 0x1006178a
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x18]
movsd xmm0, qword [esp + 0x98]
movsd xmm2, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x90]
xor edi, edi
mov dword [esp + 0x100], eax
movzx eax, byte [edx]
movsd qword [esp + 0xf8], xmm0
movsd qword [esp + 0xf0], xmm1
movsd qword [esp + 0xe8], xmm2
test eax, eax
je 0x10060de9
cmp eax, 1
je 0x10060ddb
call sub.KERNEL32.dll_GetProcessHeap
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x10061980
mov ebx, dword [esp + 0x18]
mov esi, eax
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0xc]
lea edx, [eax + 8]
push dword [eax + 4]
push dword [eax]
push edx
push esi
call dword [ecx]
mov edx, ebx
add esp, 0x10
mov eax, 2
jmp 0x10060deb
movzx edi, byte [edx + 1]
mov eax, 1
shl edi, 8
jmp 0x10060deb
xor eax, eax
mov ebx, dword [esp + 0x28]
mov ecx, dword [edx + 0x14]
or edi, eax
mov dword [esp + 0x108], edi
mov dword [esp + 0x10c], esi
mov esi, edx
add edx, 0x10
lea eax, [ebx + 0x20]
mov dword [esp + 0xc8], eax
lea eax, [esp + 0x110]
push dword [esi + 0xc]
push dword [esi + 8]
push edx
push eax
call dword [ecx]
add esp, 0x10
movsd xmm0, qword [esp + 0x118]
movq xmm2, qword [esp + 0x108]
movsd xmm1, qword [esp + 0x110]
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0x38], xmm1
movq qword [esp + 0x30], xmm2
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
mov esi, dword [ebx + 0x2c]
mov edi, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], esi
xor eax, 0x6e657261
xor edi, 0x70736575
mov dword [esp + 0x58], edi
mov edi, ecx
xor ecx, 0x6c796765
xor edi, 0x736f6d65
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], eax
mov eax, edx
mov dword [esp + 0x64], ecx
mov ecx, esi
xor edx, 0x79746573
xor esi, 0x74656462
xor eax, 0x6e646f6d
xor ecx, 0x646f7261
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], edx
lea ecx, [esp + 0x30]
lea edx, [esp + 0x48]
mov dword [esp + 0x74], esi
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
call fcn.10062170
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x5c]
pcmpeqd xmm2, xmm2
mov dword [esp + 0xe4], 0x10
shl edx, 0x18
mov dword [esp + 0x120], esi
mov dword [esp + 0xc], eax
or edx, dword [esp + 0x7c]
mov dword [esp + 0x14], edx
xor ecx, edx
mov edx, dword [esp + 0x70]
xor edx, esi
mov esi, dword [esp + 0x58]
add esi, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], esi
mov esi, dword [esp + 0xc]
adc edi, ebx
mov dword [esp + 0x10], edi
shld eax, ebx, 0xd
shld ebx, esi, 0xd
mov esi, dword [esp + 0xb0]
xor ebx, edi
mov edi, dword [esp + 0x64]
xor eax, esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
add eax, edx
mov dword [esp + 0xc], eax
mov eax, edx
adc edi, ecx
shrd edx, ecx, 0x10
shld eax, ecx, 0x10
xor edx, edi
xor eax, dword [esp + 0xc]
add dword [esp + 0x10], eax
mov ecx, eax
adc esi, edx
shrd eax, edx, 0xb
shld ecx, edx, 0x15
xor eax, esi
xor ecx, dword [esp + 0x10]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x20]
add dword [esp + 0xc], eax
mov edx, eax
adc edi, ebx
shld edx, ebx, 0x11
shrd eax, ebx, 0xf
mov ebx, esi
mov esi, dword [esp + 0x120]
mov dword [esp + 0x1c], edx
xor eax, edi
xor ebx, dword [esp + 0x14]
xor edi, 0xff
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
xor dword [esp + 0x10], esi
mov esi, ecx
xor edx, dword [esp + 0xc]
add dword [esp + 0x10], edx
mov edi, edx
adc ebx, eax
shrd edx, eax, 0x13
shld edi, eax, 0xd
mov eax, dword [esp + 0xb0]
xor edx, ebx
xor edi, dword [esp + 0x10]
add dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edx
mov edx, ebx
mov ebx, dword [esp + 0xc]
adc ebx, eax
shld esi, eax, 0x10
shrd ecx, eax, 0x10
xor esi, dword [esp + 0x14]
xor ecx, ebx
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x10]
add edx, esi
mov eax, esi
adc ebx, ecx
shld eax, ecx, 0x15
shrd esi, ecx, 0xb
mov dword [esp + 0xb0], edx
mov ecx, edi
xor eax, edx
xor esi, ebx
mov dword [esp + 0x10], ebx
add dword [esp + 0x14], edi
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x1c]
adc edx, ebx
shld ecx, ebx, 0x11
shrd edi, ebx, 0xf
xor ecx, dword [esp + 0x14]
xor edi, edx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x10]
add dword [esp + 0xb0], ecx
mov ebx, ecx
adc edx, edi
shld ebx, edi, 0xd
shrd ecx, edi, 0x13
mov edi, dword [esp + 0xc]
xor ebx, dword [esp + 0xb0]
xor ecx, edx
mov dword [esp + 0x10], edx
mov edx, eax
add edi, eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc], edi
adc ebx, esi
shrd eax, esi, 0x10
shld edx, esi, 0x10
mov dword [esp + 0x14], ebx
xor eax, ebx
mov ebx, dword [esp + 0x10]
xor edx, edi
mov edi, dword [esp + 0xb0]
mov esi, edx
add ebx, edx
adc edi, eax
shld esi, eax, 0x15
shrd edx, eax, 0xb
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], ebx
xor esi, ebx
xor edx, edi
mov dword [esp + 0xb0], edi
mov edi, dword [esp + 0x14]
add dword [esp + 0xc], eax
mov ebx, eax
adc edi, ecx
shld ebx, ecx, 0x11
shrd eax, ecx, 0xf
mov ecx, dword [esp + 0xb0]
xor ebx, dword [esp + 0xc]
xor eax, edi
mov dword [esp + 0x14], edi
add dword [esp + 0x10], ebx
mov edi, ebx
adc ecx, eax
shld edi, eax, 0xd
shrd ebx, eax, 0x13
mov eax, dword [esp + 0xc]
xor ebx, ecx
xor edi, dword [esp + 0x10]
add dword [esp + 0x14], esi
mov ecx, esi
adc eax, edx
shrd esi, edx, 0x10
shld ecx, edx, 0x10
mov edx, dword [esp + 0x14]
xor esi, eax
xor ecx, edx
shld ecx, esi, 0x15
add edx, edi
adc eax, ebx
shrd ebx, edi, 0xf
xor ebx, ecx
xor ebx, eax
xor ebx, edx
mov edx, dword [esp + 0x28]
mov eax, ebx
shr eax, 0x19
movd xmm0, eax
mov dword [esp + 0xc4], eax
mov al, byte [esp + 0x30]
mov ecx, dword [edx + 0x30]
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0xe0
pshufd xmm0, xmm0, 0
mov byte [esp + 0x120], al
mov al, byte [esp + 0x31]
movdqa xmm3, xmm0
mov edi, ecx
mov dword [esp + 0xb0], ecx
and edi, ebx
lea esi, [edi + 0x10]
mov dword [esp + 0xc], edi
and esi, ecx
mov byte [esp + 0xa8], al
mov dword [esp + 0xac], esi
mov esi, dword [edx + 0x34]
movdqu xmm1, xmmword [esi + edi]
pcmpeqb xmm3, xmm1
pmovmskb eax, xmm3
mov dword [esp + 0x10], eax
lea eax, [edx + 0x30]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, ecx
mov ecx, dword [esp + 0x10]
test cx, cx
je 0x10061240
mov edi, dword [esp + 0xc]
lea edx, [ecx - 1]
mov dword [esp + 0xc], edi
and edx, ecx
bsf cx, cx
movzx ecx, cx
mov dword [esp + 0x10], edx
add ecx, edi
and ecx, dword [esp + 0xb0]
neg ecx
lea ecx, [ecx + ecx*8]
mov dword [esp + 0x20], ecx
movzx ecx, byte [esi + ecx*4 - 0x24]
cmp ecx, 1
je 0x10061330
cmp ecx, 2
je 0x100612a0
test ecx, ecx
je 0x10061921
cmp byte [esp + 0x120], 0
jne 0x100611e0
jmp 0x10061921
mov edi, dword [esp + 0xac]
pcmpeqb xmm1, xmm2
pmovmskb ecx, xmm1
test cx, cx
jne 0x100613de
mov ecx, dword [esp + 0xe4]
movdqu xmm1, xmmword [esi + edi]
movdqa xmm3, xmm0
lea eax, [edi + ecx + 0x10]
add ecx, 0x10
pcmpeqb xmm3, xmm1
and eax, dword [esp + 0xb0]
mov dword [esp + 0xe4], ecx
pmovmskb ecx, xmm3
test cx, cx
mov dword [esp + 0xac], eax
je 0x10061240
jmp 0x100611ed
mov cl, byte [esp + 0x120]
cmp cl, 2
jne 0x1006133c
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esi + eax*4 - 0x20]
mov edi, dword [edx + 4]
cmp edi, dword [ecx + 4]
jne 0x100611e0
mov eax, dword [edx]
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0xcc], eax
nop dword [eax]
cmp edi, ecx
je 0x10061375
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0xcc]
movzx eax, byte [eax + ecx]
mov dh, byte [edx + ecx]
inc ecx
mov dl, al
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, al
mov al, dh
add al, 0xbf
cmp al, 0x1a
setb al
shl al, 5
or al, dh
cmp dl, al
je 0x100612e0
jmp 0x100611e0
mov cl, byte [esp + 0x120]
cmp cl, 1
je 0x10061349
test cl, cl
jne 0x100611e0
jmp 0x10061921
mov eax, dword [esp + 0x20]
lea ecx, [esi + eax*4 - 0x24]
cmp byte [ecx + 1], 1
jne 0x10061367
cmp byte [esp + 0xa8], 0
je 0x100611e0
jmp 0x10061375
cmp byte [esp + 0xa8], 0
jne 0x100611e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
cmp dword [esi + ecx*4 - 0x18], eax
jne 0x100611e0
mov eax, dword [esp + 0x20]
xor edi, edi
mov ecx, dword [esi + eax*4 - 0x1c]
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp dword [esp + 0x14], edi
je 0x10061809
movzx eax, byte [ecx + edi]
mov edx, dword [esp + 0x1c]
mov ah, al
movzx edx, byte [edx + edi]
inc edi
add ah, 0xbf
cmp ah, 0x1a
setb ah
shl ah, 5
or ah, al
mov al, dl
add al, 0xbf
cmp al, 0x1a
setb al
shl al, 5
or al, dl
cmp ah, al
je 0x100613a0
jmp 0x100611e0
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xd8], eax
cmp dword [ecx + 0x38], 0
je 0x100617d8
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x39]
mov byte [esp + 0x120], al
movzx eax, word [esp + 0x3a]
mov word [esp + 0x20], ax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xb0]
mov edi, ebx
and edi, eax
movdqu xmm0, xmmword [esi + edi]
lea ebx, [ecx + edi + 0x10]
add ecx, 0x10
pmovmskb edx, xmm0
test dx, dx
je 0x10061430
mov ebx, eax
bsf ax, dx
movzx eax, ax
add edi, eax
and edi, ebx
mov cl, byte [esi + edi]
test cl, cl
jns 0x1006190a
and cl, 1
neg cl
movsx eax, cl
mov ecx, dword [esp + 0x28]
add dword [ecx + 0x38], eax
lea eax, [edi - 0x10]
mov edx, dword [esp + 0xc4]
and eax, ebx
mov ebx, dword [esp + 0x10]
mov byte [esi + edi], dl
mov byte [eax + esi + 0x10], dl
mov edx, dword [esp + 0x2c]
neg edi
lea eax, [edi + edi*8]
mov edi, dword [esp + 0x14]
mov dword [esi + eax*4 - 0x24], edx
mov edx, dword [esp + 0x24]
mov dword [esi + eax*4 - 0x20], edx
mov edx, dword [esp + 0x1c]
mov byte [esi + eax*4 - 0x1c], dl
mov dl, byte [esp + 0x120]
mov byte [esi + eax*4 - 0x1b], dl
movzx edx, word [esp + 0x20]
mov word [esi + eax*4 - 0x1a], dx
mov dword [esi + eax*4 - 0x18], edi
mov edi, dword [esp + 0xc]
mov dword [esi + eax*4 - 0x14], ebx
lea ebx, [esi + eax*4 - 0xc]
mov dword [esi + eax*4 - 0x10], edi
mov dword [esi + eax*4 - 0xc], 8
mov dword [esi + eax*4 - 8], 0
mov dword [esi + eax*4 - 4], 0
inc dword [ecx + 0x3c]
mov eax, dword [ecx + 0x78]
cmp eax, dword [ebx + 8]
mov eax, dword [0x104debf8]
jbe 0x10061669
cmp eax, 4
jb 0x10061507
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
add eax, 0xfffffffe
cmp eax, 4
jb 0x10061610
mov ecx, dword [0x104d4db0]
test ecx, ecx
je 0x10061610
mov al, 1
cmp ecx, 1
je 0x10061538
cmp ecx, 2
jne 0x100618c5
mov al, 2
movzx edx, al
mov ecx, 0x104d4db0
call fcn.10109d10
test al, al
je 0x10061610
mov ecx, dword [0x104d4db4]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x100619a2
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x30], 0
mov dword [esp + 0x48], 0x10419b48
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 0
mov dword [esp + 0x34], edx
lea edx, [esp + 0x30]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], esi
lea esi, [esp + 0xd0]
mov dword [esp + 0x40], edi
mov dword [esp + 0x108], edx
lea edx, [esp + 0x108]
mov dword [esp + 0x58], esi
lea esi, [esp + 0x48]
mov dword [esp + 0x5c], 1
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10c], esi
lea esi, [ecx + 0x2c]
mov dword [esp + 0xdc], 1
mov dword [esp + 0x110], 0x10419960
mov dword [esp + 0xe0], esi
mov dword [esp + 0xd0], edx
lea edx, [esp + 0xd8]
mov dword [esp + 0xd4], 0x100619e0
call fcn.1010a570
call fcn.100fe060
movsd xmm1, qword [esp + 0xf0]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], ecx
movsd xmm0, qword [esp + 0xe8]
mov eax, dword [esp + 0x100]
lea edx, [esp + 0x48]
mov ecx, ebx
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [esp + 0xf8]
movsd qword [esp + 0x58], xmm0
mov dword [esp + 0x70], eax
movsd qword [esp + 0x68], xmm1
call fcn.100636d0
jmp 0x10061786
cmp eax, 5
jb 0x10061673
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
dec eax
cmp eax, 5
jb 0x1006177a
mov ecx, dword [0x104d4da4]
test ecx, ecx
je 0x1006177a
mov al, 1
cmp ecx, 1
je 0x100616a2
cmp ecx, 2
jne 0x100618dc
mov al, 2
movzx edx, al
mov ecx, 0x104d4da4
call fcn.10109d10
test al, al
je 0x1006177a
mov ecx, dword [0x104d4da8]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x100619b3
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x30], 0
mov dword [esp + 0x48], 0x10419b28
mov dword [esp + 0x4c], 2
mov dword [esp + 0x50], 0
mov dword [esp + 0x34], edx
lea edx, [esp + 0x30]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], esi
lea esi, [esp + 0xd0]
mov dword [esp + 0x40], edi
mov dword [esp + 0x108], edx
lea edx, [esp + 0x108]
mov dword [esp + 0x58], esi
lea esi, [esp + 0x48]
mov dword [esp + 0x5c], 1
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10c], esi
lea esi, [ecx + 0x2c]
mov dword [esp + 0xdc], 1
mov dword [esp + 0x110], 0x10419960
mov dword [esp + 0xe0], esi
mov dword [esp + 0xd0], edx
lea edx, [esp + 0xd8]
mov dword [esp + 0xd4], 0x100619e0
call fcn.1010a570
lea ecx, [esp + 0xe8]
call fcn.1005fe10
mov edx, dword [esp + 0x18]
cmp byte [edx], 2
jb 0x100617bd
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0xc]
lea edx, [eax + 8]
push dword [eax + 4]
push dword [eax]
push edx
call dword [ecx + 4]
add esp, 0xc
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 4]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x14]
lea ecx, [edx + 0x10]
push dword [edx + 0xc]
push dword [edx + 8]
push ecx
call dword [eax + 4]
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0xa4]
lea eax, [esp + 0xd8]
lea ecx, [esp + 0x48]
push eax
call fcn.10062bc0
add esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x30]
mov esi, dword [eax + 0x34]
mov dword [esp + 0xb0], ecx
jmp 0x100613fa
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0xa4]
cmp cl, 3
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x20]
lea edx, [esi + edx*4]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ebx
je 0x10061899
lea ebx, [esp + 0x58]
cmp cl, 2
jb 0x10061889
mov eax, dword [edi + 0xc]
lea ecx, [edi + 8]
push dword [edi + 4]
push dword [edi]
push ecx
call dword [eax + 4]
add esp, 0xc
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x5c]
push dword [esp + 0x14]
push eax
push ebx
call dword [ecx + 4]
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
lea ebx, [esi + eax*4 - 0xc]
jmp 0x100614ec
mov ecx, 0x104d4dbc
call fcn.10109c60
mov edx, dword [esp + 0x18]
test al, al
jne 0x10060c61
jmp 0x1006178a
mov ecx, 0x104d4db0
call fcn.10109c60
test al, al
jne 0x10061538
jmp 0x10061610
mov ecx, 0x104d4da4
call fcn.10109c60
test al, al
jne 0x100616a2
jmp 0x1006177a
mov ecx, 0x104d4d80
call fcn.10109c60
test al, al
jne 0x10060ade
jmp 0x10060bbf
movdqa xmm0, xmmword [esi]
pmovmskb eax, xmm0
bsf ax, ax
movzx edi, ax
mov cl, byte [esi + edi]
jmp 0x10061461
mov ecx, 0x10400e68
call fcn.100329a0
ud2
mov ecx, str.value_already_sent
mov edx, 0x12
push 0x10419ad0
jmp 0x100619d3
ud2
mov ecx, 0x1041992d
mov edx, 0x22
push 0x10419b18
jmp 0x100619d3
mov ecx, str.assertion_failed:_slot.is_none__
mov edx, 0x20
push 0x10419b00
call fcn.1004d560
add esp, 4
ud2
mov ecx, 0x1041992d
mov edx, 0x22
push 0x10419aac
jmp 0x100619d3
mov ecx, 0x10
mov edx, 4
call fcn.10006540
ud2
mov ecx, 0x1041992d
mov edx, 0x22
push 0x10419b68
jmp 0x100619d3
mov ecx, 0x1041992d
mov edx, 0x22
push 0x10419b50
jmp 0x100619d3
mov ecx, 0x1041992d
mov edx, 0x22
push 0x10419b38
jmp 0x100619d3
mov ecx, 0x1041992d
mov edx, 0x22
push 0x10419a94
call fcn.1000a730
add esp, 4
ud2