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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x870
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x70], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e8], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0xb4], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x2ec], ecx
mov dword [esp + 0x2f0], 0
mov dword [esp + 0x2f4], ecx
mov byte [esp + 0x2f8], 0
mov dword [esp + 0xb8], eax
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 8]
dec edx
and edx, 0xfffffff8
lea ecx, [edx + ecx + 8]
push ecx
call dword [eax + 0x20]
add esp, 4
mov edi, dword [eax]
lock inc dword [edi]
jle 0x618009
mov edx, dword [edi + 0x10]
xor ecx, ecx
mov eax, 4
test edx, edx
je 0x614eeb
mov ecx, dword [edi + 0xc]
mov esi, dword [ecx + edx*8 - 4]
xor ecx, ecx
test esi, esi
je 0x614eeb
cmp esi, 0x1fffffff
ja 0x617fbd
lea edx, [esi*4]
test edx, edx
js 0x617fbd
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov dword [esp + 0x40], edx
call fcn.0071ee80
test eax, eax
je 0x6180e3
cmp esi, 2
mov ecx, eax
jb 0x614ee3
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffffc
push ecx
push 0
push eax
mov dword [esp + 0x2c], eax
call fcn.007bdf30
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [esp + 0x40]
lea ecx, [eax + ecx - 4]
mov dword [ecx], 0
mov ecx, esi
mov esi, dword [ebx]
mov dword [esp + 0x10c], edi
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
mov dword [esp + 0xf8], 0
mov dword [esp + 0x40], ecx
mov ebx, dword [ebx + 4]
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + 0x58]
cmp dword [edx], 0
je 0x614f4d
mov ecx, dword [ebp + 8]
cmp dword [edx + 4], ecx
ja 0x6169d5
test byte [edx + 0x1c], 1
je 0x614f4d
test byte [edx + 0x20], 2
je 0x614f4d
cmp dword [edx + 8], 0
je 0x614f4d
cmp dword [edx + 0xc], ecx
jb 0x6169d5
mov dword [esp + 0x20], eax
call fcn.0052ad60
test eax, eax
je 0x61800b
mov edi, dword [eax]
mov eax, dword [ebx + 0x2f8]
cmp edi, eax
jne 0x6160e7
mov dword [ebx + 0x2f8], 1
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov edx, dword [eax + 8]
dec edx
and edx, 0xfffffff8
lea ecx, [edx + ecx + 8]
lea edx, [esp + 0x2e0]
push dword [esp + 0x40]
push dword [esp + 0x24]
push edx
push ebx
push ecx
call dword [eax + 0x40]
add esp, 0x14
cmp edi, 2
mov dword [esp + 0x600], edi
je 0x61802c
mov ecx, ebx
mov ebx, eax
mov dword [ecx + 0x2f8], edi
cmp ebx, 1
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], edx
jne 0x6169ce
mov ecx, dword [esi + 0x10]
lea eax, [esp + 0xfc]
mov ecx, dword [ecx + 0x58]
cmp dword [ecx + 0x10], 0
je 0x614ff8
mov edx, dword [ecx + 0x14]
mov ecx, 0xffffffff
inc edx
cmovne ecx, edx
mov edx, 1
jmp 0x614ffa
xor edx, edx
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov ebx, dword [eax + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xe4], ebx
movsd qword [esp + 0xdc], xmm1
movsd qword [esp + 0xd4], xmm0
mov dword [esp + 0xd0], 1
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xf4], eax
mov ecx, dword [esp + 0xd4]
cmp dword [ebx + 0x10], ecx
mov eax, ecx
mov dword [esp + 0x20], ecx
jbe 0x615157
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x615157
mov ecx, dword [esp + 0x20]
mov edi, dword [eax + ecx*8 + 4]
sub edi, dword [eax + ecx*8]
cmp edi, 0x1ffffffd
ja 0x617fbd
mov dword [esp + 0x18], edi
shr edi, 1
lea edx, [edi*8 + 8]
test edx, edx
js 0x617fbd
mov dword [esp + 0x14], edi
xor ecx, ecx
xor esi, esi
mov edi, edx
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x40], eax
je 0x6179ef
mov eax, dword [esp + 0xdc]
mov edi, dword [esp + 0xe0]
mov ecx, 1
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0xc], edi
cmp eax, 1
je 0x615105
xor edx, edx
cmp eax, dword [esp + 0x20]
jbe 0x61517b
cmp dword [ebx + 0xc], 0
mov edi, dword [esp + 0xc]
je 0x61517b
mov eax, dword [esp + 0x20]
lea esi, [eax + eax]
mov ecx, esi
or ecx, 1
xor edx, edx
cmp esi, edi
jae 0x61517b
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x61517b
cmp ecx, dword [esp + 0xc]
jae 0x61517b
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + ecx*4]
test esi, esi
je 0x61517b
dec esi
dec eax
mov ecx, esi
sub ecx, eax
jb 0x61738a
test eax, eax
je 0x617377
cmp eax, dword [ebp + 8]
jae 0x617375
mov edx, dword [esp + 0x10]
cmp byte [edx + eax], 0xc0
jge 0x617377
jmp 0x61738a
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 4
mov dword [esp + 0x68], 0
mov ecx, 4
xor eax, eax
jmp 0x6153f8
test edx, edx
mov eax, 0x93d1f8
mov esi, dword [esp + 0x14]
cmove ecx, edx
cmove edx, eax
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x18], 2
mov dword [eax], edx
lea edx, [esi + 1]
mov dword [eax + 4], ecx
mov dword [esp + 0x6c], edx
jae 0x6151c1
mov edi, 0xc
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 1
jmp 0x61532f
mov ecx, 1
mov edx, 1
mov dword [esp + 4], ebx
jmp 0x615208
test edi, edi
mov eax, 0x93d1f8
cmove ebx, edi
cmove edi, eax
mov eax, dword [esp + 0x40]
inc edx
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 4]
add ecx, 2
dec esi
je 0x615307
mov eax, dword [ebx + 0x10]
cmp eax, 1
jne 0x615280
lea eax, [edx + edx]
lea ebx, [edx + edx + 1]
xor edi, edi
cmp eax, dword [esp + 0xc]
jae 0x6151e0
mov dword [esp], ebx
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + eax*4]
test eax, eax
je 0x6151e0
mov ebx, dword [esp]
cmp ebx, dword [esp + 0xc]
jae 0x6151e0
mov dword [esp + 8], eax
mov eax, ebx
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + eax*4]
test eax, eax
je 0x6151e0
mov edi, dword [esp + 8]
dec eax
mov ebx, eax
dec edi
sub ebx, edi
mov dword [esp + 8], edi
jb 0x617fed
test edi, edi
je 0x6152d6
mov edi, dword [esp + 8]
cmp edi, dword [ebp + 8]
jae 0x6152d0
mov dword [esp], eax
mov eax, edi
mov edi, dword [esp + 0x10]
cmp byte [edi + eax], 0xc0
mov eax, dword [esp]
jge 0x6152d6
jmp 0x617ff0
xor edi, edi
cmp eax, dword [esp + 0x20]
jbe 0x6151e0
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x6151e0
mov eax, dword [esp + 0x20]
mov eax, dword [ebx + eax*8]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov ebx, dword [ebx + eax*8 + 4]
mov eax, dword [esp]
sub ebx, eax
shr ebx, 1
cmp ebx, edx
jb 0x6151e0
lea ebx, [ecx + eax]
lea eax, [ecx + eax - 1]
xor edi, edi
cmp eax, dword [esp + 0xc]
jae 0x6151e0
jmp 0x61521f
jne 0x617fed
test eax, eax
je 0x6152fa
cmp eax, dword [ebp + 8]
jae 0x6152f4
mov dword [esp], eax
mov edi, dword [esp + 0x10]
mov eax, dword [esp]
cmp byte [edi + eax], 0xbf
jg 0x6152fa
jmp 0x617ff0
jne 0x617fed
mov edi, dword [esp + 8]
add edi, dword [esp + 0x10]
jmp 0x6151e0
mov ecx, dword [esp + 0x6c]
cmp dword [esp + 0x18], 0x15555553
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
ja 0x617fbd
lea eax, [ecx*4]
lea edi, [eax + eax*2]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
xor esi, esi
call fcn.0071ee80
test eax, eax
je 0x6179ef
mov ebx, dword [esp + 0x14]
mov edi, eax
mov dword [esp + 0x20], eax
inc ebx
nop word cs:[eax + eax]
nop
lea ecx, [esp + 0xf8]
lea eax, [esp + 0x600]
mov dword [esp + 0x2e0], 0x92adac
mov dword [esp + 0x2e4], 1
mov dword [esp + 0x2f0], 0
lea edx, [esp + 0x2e0]
mov dword [esp + 0x600], esi
inc esi
mov dword [esp + 0x2e8], ecx
lea ecx, [esp + 0x708]
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], 0x4631b0
mov dword [esp + 0x2ec], 1
call fcn.00419280
mov eax, dword [esp + 0x710]
mov dword [edi + 8], eax
movsd xmm0, qword [esp + 0x708]
movsd qword [edi], xmm0
add edi, 0xc
cmp ebx, esi
jne 0x615360
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
mov eax, dword [0x94bccc]
cmp eax, 1
ja 0x6155c6
movzx eax, byte [0x94b56c]
test al, al
je 0x6155c6
movzx eax, al
cmp eax, 1
je 0x615451
cmp eax, 2
je 0x615495
mov ecx, 0x94b564
call fcn.007d3740
test al, al
je 0x6155c6
movzx eax, al
cmp eax, 2
je 0x615495
mov eax, dword [0x94b564]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x6155c6
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x615485
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [esi + edx + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x6155c6
mov eax, dword [0x94b564]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x6180f1
mov esi, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esp + 0x708], 0x92ab8c
mov dword [esp + 0x70c], 1
mov dword [esp + 0x718], 0
lea ecx, [eax + 0x1c]
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], edx
lea edx, [esp + 0xbc]
movlps qword [esp + 0x100], xmm0
mov dword [esp + 0x108], 0
mov dword [esp + 0x34], edx
lea edx, [esp + 0x34]
mov dword [esp + 0x38], 0x618690
mov dword [esp + 0x710], edx
lea edx, [esp + 0xf8]
mov dword [esp + 0x714], 1
mov dword [esp + 0x74], edx
lea edx, [esp + 0x708]
mov dword [esp + 0x78], edx
lea edx, [esp + 0x74]
mov dword [esp + 0x7c], 0x8a682c
mov dword [esp + 0x600], edx
lea edx, [esp + 0x600]
mov dword [esp + 0x604], 1
mov dword [esp + 0x608], ecx
mov dword [esp + 0x2f0], edx
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e0], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x6155c6
cmp dword [0x94bcc0], 0
mov edi, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x94bcc8]
je 0x6155ab
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea edi, [eax + edi + 8]
lea ebx, [esp + 0x2e0]
push ebx
push edi
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x6155c6
push ebx
push edi
call dword [esi + 0x2c]
add esp, 8
mov eax, dword [0x94bccc]
cmp eax, 1
ja 0x61577b
movzx eax, byte [0x94b578]
test al, al
je 0x61577b
movzx eax, al
cmp eax, 1
je 0x61560a
cmp eax, 2
je 0x61564e
mov ecx, 0x94b570
call fcn.007d3740
test al, al
je 0x61577b
movzx eax, al
cmp eax, 2
je 0x61564e
mov eax, dword [0x94b570]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x61577b
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x61563e
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [esi + edx + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x61577b
mov eax, dword [0x94b570]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x618105
mov esi, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esp + 0x708], 0x92abd0
mov dword [esp + 0x70c], 1
mov dword [esp + 0x718], 0
lea ecx, [eax + 0x1c]
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], edx
lea edx, [ebp + 0xc]
movlps qword [esp + 0x100], xmm0
mov dword [esp + 0x108], 0
mov dword [esp + 0x34], edx
lea edx, [esp + 0x34]
mov dword [esp + 0x38], 0x618730
mov dword [esp + 0x710], edx
lea edx, [esp + 0xf8]
mov dword [esp + 0x714], 1
mov dword [esp + 0x74], edx
lea edx, [esp + 0x708]
mov dword [esp + 0x78], edx
lea edx, [esp + 0x74]
mov dword [esp + 0x7c], 0x8a682c
mov dword [esp + 0x600], edx
lea edx, [esp + 0x600]
mov dword [esp + 0x604], 1
mov dword [esp + 0x608], ecx
mov dword [esp + 0x2f0], edx
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e0], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x61577b
cmp dword [0x94bcc0], 0
mov edi, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x94bcc8]
je 0x615760
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea edi, [eax + edi + 8]
lea ebx, [esp + 0x2e0]
push ebx
push edi
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x61577b
push ebx
push edi
call dword [esi + 0x2c]
add esp, 8
mov eax, dword [0x94bccc]
cmp eax, 1
ja 0x615931
movzx eax, byte [0x94b584]
test al, al
je 0x615931
movzx eax, al
cmp eax, 1
je 0x6157bf
cmp eax, 2
je 0x615803
mov ecx, 0x94b57c
call fcn.007d3740
test al, al
je 0x615931
movzx eax, al
cmp eax, 2
je 0x615803
mov eax, dword [0x94b57c]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x615931
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x6157f3
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [esi + edx + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x615931
mov eax, dword [0x94b57c]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x618119
mov esi, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esp + 0x708], 0x92ac18
mov dword [esp + 0x70c], 1
mov dword [esp + 0x718], 0
lea ecx, [eax + 0x1c]
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], edx
lea edx, [esp + 0x60]
movlps qword [esp + 0x100], xmm0
mov dword [esp + 0x108], 0
mov dword [esp + 0x34], edx
lea edx, [esp + 0x34]
mov dword [esp + 0x38], 0x6187a0
mov dword [esp + 0x710], edx
lea edx, [esp + 0xf8]
mov dword [esp + 0x714], 1
mov dword [esp + 0x74], edx
lea edx, [esp + 0x708]
mov dword [esp + 0x78], edx
lea edx, [esp + 0x74]
mov dword [esp + 0x7c], 0x8a682c
mov dword [esp + 0x600], edx
lea edx, [esp + 0x600]
mov dword [esp + 0x604], 1
mov dword [esp + 0x608], ecx
mov dword [esp + 0x2f0], edx
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e0], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x615931
cmp dword [0x94bcc0], 0
mov edi, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x94bcc8]
je 0x615916
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea edi, [eax + edi + 8]
lea ebx, [esp + 0x2e0]
push ebx
push edi
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x615931
push ebx
push edi
call dword [esi + 0x2c]
add esp, 8
mov eax, dword [0x94bccc]
cmp eax, 1
ja 0x615aea
movzx eax, byte [0x94b590]
test al, al
je 0x615aea
movzx eax, al
cmp eax, 1
je 0x615975
cmp eax, 2
je 0x6159b9
mov ecx, 0x94b588
call fcn.007d3740
test al, al
je 0x615aea
movzx eax, al
cmp eax, 2
je 0x6159b9
mov eax, dword [0x94b588]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x615aea
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x6159a9
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [esi + edx + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x615aea
mov eax, dword [0x94b588]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x61812d
mov esi, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esp + 0x708], 0x92ac64
mov dword [esp + 0x70c], 1
mov dword [esp + 0x718], 0
lea ecx, [eax + 0x1c]
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], edx
lea edx, [esp + 0xb4]
movlps qword [esp + 0x100], xmm0
mov dword [esp + 0x108], 0
mov dword [esp + 0x34], edx
lea edx, [esp + 0x34]
mov dword [esp + 0x38], 0x45f1b0
mov dword [esp + 0x710], edx
lea edx, [esp + 0xf8]
mov dword [esp + 0x714], 1
mov dword [esp + 0x74], edx
lea edx, [esp + 0x708]
mov dword [esp + 0x78], edx
lea edx, [esp + 0x74]
mov dword [esp + 0x7c], 0x8a682c
mov dword [esp + 0x600], edx
lea edx, [esp + 0x600]
mov dword [esp + 0x604], 1
mov dword [esp + 0x608], ecx
mov dword [esp + 0x2f0], edx
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e0], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x615aea
cmp dword [0x94bcc0], 0
mov edi, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x94bcc8]
je 0x615acf
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea edi, [eax + edi + 8]
lea ebx, [esp + 0x2e0]
push ebx
push edi
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x615aea
push ebx
push edi
call dword [esi + 0x2c]
add esp, 8
mov eax, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc4]
mov ecx, 8
mov edx, pe_nt_image_headers32
mov dword [esp + 0x90], 3
mov word [esp + 0x94], pe_nt_image_headers32
mov byte [esp + 0x96], 0
mov dword [esp + 0x74], 2
mov dword [esp + 0x78], 3
mov word [esp + 0x7c], pe_nt_image_headers32
mov byte [esp + 0x7e], 0
mov byte [esp + 0x80], 1
mov dword [esp + 0x84], 3
mov word [esp + 0x88], pe_nt_image_headers32
mov byte [esp + 0x8a], 0
mov word [esp + 0x8c], 0x101
mov word [esp + 0x98], 0x103
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x40], eax
call fcn.0071ee80
test eax, eax
je 0x61805b
movaps xmm0, xmmword [0x7d4330]
movaps xmm1, xmmword [0x7d4340]
movaps xmm2, xmmword [str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz]
mov esi, eax
lea edi, [esp + 0x90]
lea eax, [esp + 0x100]
lea ecx, [esp + 0x600]
movaps xmmword [esp + 0x600], xmm0
movaps xmmword [esp + 0x610], xmm1
movaps xmm1, xmmword [0x7d4360]
movaps xmmword [esp + 0x620], xmm2
movaps xmm2, xmmword [0x7d4370]
movaps xmmword [esp + 0x630], xmm1
movaps xmm1, xmmword [0x7d4380]
movaps xmmword [esp + 0x640], xmm2
movaps xmm2, xmmword [0x7d4390]
movaps xmmword [esp + 0x650], xmm1
movaps xmm1, xmmword [0x7d43a0]
movaps xmmword [esp + 0x660], xmm2
movaps xmm2, xmmword [0x7d43b0]
movaps xmmword [esp + 0x670], xmm1
movaps xmm1, xmmword [0x7d43c0]
movaps xmmword [esp + 0x680], xmm2
movaps xmm2, xmmword [0x7d43d0]
movaps xmmword [esp + 0x690], xmm1
movaps xmm1, xmmword [0x7d43e0]
movaps xmmword [esp + 0x6a0], xmm2
movaps xmm2, xmmword [0x7d43f0]
movaps xmmword [esp + 0x6b0], xmm1
movaps xmm1, xmmword [0x7d4400]
movaps xmmword [esp + 0x6c0], xmm2
movaps xmm2, xmmword [0x7d4410]
movaps xmmword [esp + 0x6d0], xmm1
movaps xmm1, xmmword [0x7d4420]
movaps xmmword [esp + 0x6e0], xmm2
movaps xmmword [esp + 0x6f0], xmm1
push pe_nt_image_headers32
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
lea eax, [esp + 0x2f8]
push 0x12f
push 0
push eax
call fcn.007bdf30
add esp, 0xc
movaps xmm0, xmmword [0x7d5440]
movaps xmm2, xmmword [0x7d4460]
movaps xmm1, xmmword [0x7d4470]
mov byte [esp + 0x427], 1
mov dword [esp + 0x430], 0x80000000
mov dword [esp + 0x43c], 0
lea eax, [esp + 0x4d4]
lea ecx, [esp + 0xf8]
movaps xmmword [esp + 0x440], xmm0
movaps xmmword [esp + 0x450], xmm2
mov dword [esp + 0x460], 0
mov byte [esp + 0x464], 0
mov dword [esp + 0x468], 0x2020100
mov word [esp + 0x46c], 2
mov dword [esp + 0x470], 0x100
mov dword [esp + 0x474], esi
mov dword [esp + 0x478], 0x100
mov dword [esp + 0x47c], 0
mov word [esp + 0x480], 0
mov byte [esp + 0x482], 0
mov word [esp + 0x484], 0x100
mov dword [esp + 0x490], edi
mov dword [esp + 0x498], 4
mov dword [esp + 0x49c], 0
movaps xmmword [esp + 0x4a0], xmm1
movaps xmm2, xmmword [0x7d4480]
movaps xmm1, xmmword [0x7d4490]
lea esi, [esp + 0x4a0]
movaps xmmword [esp + 0x4b0], xmm2
movaps xmmword [esp + 0x4c0], xmm1
mov dword [esp + 0x4d0], 0
push 0x108
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
xorps xmm0, xmm0
mov ecx, esi
xor edx, edx
mov dword [esp + 0x5dc], 0xffffffff
mov dword [esp + 0x5f1], 0
movaps xmmword [esp + 0x5e0], xmm0
mov dword [esp + 0x5ed], 0
mov dword [esp + 0x494], 0
movaps xmmword [esp + 0x2e0], xmm0
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f0], 0
call fcn.004fcfc0
mov ecx, dword [esp + 0x4a8]
mov eax, dword [esp + 0x4a4]
lea edx, [ecx + ecx*8]
inc ecx
mov byte [eax + edx], 0
mov dword [eax + edx + 1], 0
mov dword [eax + edx + 5], 0
mov dword [esp + 0x4a8], ecx
mov edx, dword [esp + 0x4c0]
cmp edx, dword [esp + 0x4b8]
jne 0x615e8c
lea ecx, [esp + 0x4b8]
call fcn.004c7a80
mov edx, dword [esp + 0x4c0]
mov eax, dword [esp + 0x4bc]
mov dword [eax + edx*8], 0
mov dword [eax + edx*8 + 4], 0
inc edx
mov dword [esp + 0x4c0], edx
mov edx, dword [esp + 0x4b4]
cmp edx, dword [esp + 0x4ac]
jne 0x615ecd
lea ecx, [esp + 0x4ac]
call fcn.0075a1c0
mov edx, dword [esp + 0x4b4]
mov eax, dword [esp + 0x4b0]
lea edi, [esp + 0x494]
mov dword [eax + edx*4], 0
inc edx
mov dword [esp + 0x4b4], edx
mov edx, dword [esp + 0x49c]
cmp edx, 0x7ffffffe
ja 0x615fb3
mov esi, dword [esp + 0x5ec]
cmp edx, dword [esp + 0x494]
jne 0x615f1b
mov ecx, edi
call fcn.004c8590
mov edx, dword [esp + 0x49c]
mov eax, dword [esp + 0x498]
lea ecx, [edx + edx*4]
inc edx
cmp edx, 0x7ffffffe
mov dword [eax + ecx*4], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov dword [esp + 0x49c], edx
ja 0x615fb3
mov esi, dword [esp + 0x5ec]
cmp edx, dword [esp + 0x494]
jne 0x615f76
mov ecx, edi
call fcn.004c8590
mov edx, dword [esp + 0x49c]
mov eax, dword [esp + 0x498]
lea ecx, [edx + edx*4]
inc edx
cmp edx, 0x7ffffffe
mov dword [eax + ecx*4], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov dword [esp + 0x49c], edx
jbe 0x61602e
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0x7ffffffe
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], edx
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
mov dword [esp + 4], 0
test ebx, ebx
je 0x616a81
mov eax, dword [esp + 0x40]
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
lea esi, [eax + 4]
jmp 0x61601a
add esi, 0xc
dec ebx
je 0x616a81
cmp dword [esi - 4], 0
je 0x616010
push dword [esi]
push 0
push dword [0x94bf18]
call edi
jmp 0x616010
mov esi, edx
mov edx, dword [esp + 0x5ec]
cmp esi, dword [esp + 0x494]
mov edi, esi
jne 0x61605b
mov edi, edx
lea ecx, [esp + 0x494]
mov edx, esi
call fcn.004c8590
mov edx, edi
mov edi, dword [esp + 0x49c]
mov eax, dword [esp + 0x498]
lea ecx, [edi + edi*4]
inc edi
cmp edi, 0x7ffffffe
mov dword [eax + ecx*4], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [esp + 0x49c], edi
mov dword [esp + 0x5ec], esi
jbe 0x61617f
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0x7ffffffe
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0
test ebx, ebx
jne 0x615ff2
jmp 0x616a81
lea ecx, [esp + 0x708]
mov edx, ebx
push eax
push edi
call fcn.007c2290
add esp, 8
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov edi, dword [esp + 0x70c]
mov ebx, dword [esp + 0x710]
mov edx, dword [eax + 8]
dec edx
and edx, 0xfffffff8
cmp dword [esp + 0x708], 0
lea ecx, [edx + ecx + 8]
jne 0x614f89
movzx edx, byte [esp + 0x714]
mov dword [esp + 4], ebx
mov byte [esp + 0xc], dl
lea edx, [esp + 0x2e0]
push dword [esp + 0x40]
push dword [esp + 0x24]
push edx
push edi
push ecx
call dword [eax + 0x40]
add esp, 0x14
cmp byte [esp + 0xc], 0
mov ebx, eax
mov dword [esp + 0x1c], edx
je 0x6173a3
mov ecx, edi
call fcn.00473020
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esp + 0x1c]
jmp 0x614fbb
cmp edi, dword [esp + 0x494]
mov eax, edi
jne 0x61619f
lea ecx, [esp + 0x494]
mov edx, edi
call fcn.004c8590
mov eax, dword [esp + 0x49c]
mov ecx, dword [esp + 0x498]
lea edx, [eax + eax*4]
inc eax
mov dword [ecx + edx*4], 0
mov dword [ecx + edx*4 + 4], 0
mov dword [ecx + edx*4 + 8], 0
mov dword [ecx + edx*4 + 0xc], esi
mov dword [ecx + edx*4 + 0x10], 0
mov dword [esp + 0x49c], eax
lea esi, [esp + 0x494]
lea ecx, [esp + 0xf8]
mov eax, dword [esp + 0x5ec]
mov dword [esp + 0x5f0], edi
mov edx, esi
push 1
push eax
call fcn.004126a0
add esp, 8
mov eax, dword [esp + 0xf8]
cmp eax, 3
mov dword [esp + 4], eax
jne 0x616a2a
lea ecx, [esp + 0xf8]
mov edx, esi
push 1
push edi
call fcn.004126a0
add esp, 8
mov eax, dword [esp + 0xf8]
cmp eax, 3
jne 0x616a26
lea ecx, [esp + 0xf8]
mov edx, esi
push 0
push 0
call fcn.004126a0
add esp, 8
mov eax, dword [esp + 0xf8]
cmp eax, 3
jne 0x616a26
mov ecx, dword [esp + 0x40]
lea eax, [ebx + ebx*2]
test ebx, ebx
lea edi, [ecx + eax*4]
mov eax, ecx
je 0x6175ef
xor edx, edx
mov eax, ecx
mov dword [esp + 0x9c], edi
lea ecx, [eax + 0xc]
mov dword [esp + 0xa4], ecx
mov ecx, dword [eax]
cmp ecx, 0x80000000
je 0x6175e8
mov esi, dword [eax + 4]
mov ebx, dword [eax + 8]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x5c], esi
cmp ebx, 0x7ffffffe
lea esi, [esp + 0x494]
ja 0x61789c
mov ecx, dword [esp + 0x5dc]
mov eax, dword [esp + 0x4cc]
cmp ecx, ebx
mov dword [esp + 0x600], eax
cmovae ecx, ebx
mov dword [esp + 0x5dc], ecx
mov ecx, dword [esp + 0x5e0]
cmp ecx, ebx
cmovbe ecx, ebx
cmp edx, eax
mov dword [esp + 0x5e0], ecx
jne 0x61818c
cmp edx, dword [esp + 0x4c4]
lea eax, [edx + 1]
mov ecx, edx
mov dword [esp + 0xc8], eax
jne 0x616328
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x4c4]
call fcn.0075a1c0
mov ecx, dword [esp + 0x4cc]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x4c8]
mov dword [edx + ecx*4], ebx
mov dword [esp + 0x4cc], eax
mov eax, dword [esp + 0x490]
cmp byte [eax + 5], 0
je 0x61635a
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x300]
push ebx
call fcn.004182f0
add esp, 4
mov ecx, dword [esp + 0x5ec]
test ebx, ebx
je 0x616968
mov eax, dword [esp + 0x5c]
xor edx, edx
mov dword [esp + 0x10], 0
add ebx, eax
mov edi, eax
mov dword [esp + 0x20], ebx
jmp 0x6163a6
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0xcc]
inc dword [esp + 0x10]
mov ecx, eax
lea esi, [esp + 0x494]
inc edi
cmp edi, ebx
je 0x61696a
movzx eax, byte [edi]
test dl, 1
mov dl, 1
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, ecx
jne 0x6163dd
mov edx, dword [esp + 0x49c]
cmp ecx, edx
jae 0x617f9f
mov ecx, dword [esp]
mov eax, dword [esp + 0x498]
lea ecx, [ecx + ecx*4]
cmp dword [eax + ecx*4 + 8], 0
setne dl
mov eax, dword [esp + 0x490]
test dl, dl
je 0x6163f2
cmp byte [eax + 4], 1
je 0x616990
mov ch, byte [esp + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0xcc], edx
mov dword [esp + 0x6c], edi
test ch, ch
je 0x6164e1
mov al, ch
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2d4], 0
mov dword [esp + 0x2d0], 1
mov dword [esp + 0x2cc], 0
mov dword [esp + 0x2c8], 0
mov dword [esp + 0x2c4], 0
mov dword [esp + 0x2c0], 0
dec al
mov cl, al
mov ah, al
and al, 7
and cl, 0x78
shr ah, 7
shr cl, 3
neg cl
movsx edx, cl
mov cl, al
mov ebx, dword [esp + edx + 0x2d8]
mov dword [esp + 0x18], ebx
shl ebx, cl
not cl
mov edi, dword [esp + edx + 0x2d4]
mov dword [esp + 8], edi
shr edi, 1
shr edi, cl
mov esi, dword [esp + edx + 0x2dc]
mov cl, al
mov edx, dword [esp + edx + 0x2d0]
or edi, ebx
mov ebx, dword [esp + 0x18]
shld esi, ebx, cl
movzx ebx, ah
mov eax, dword [esp + 8]
shl ebx, 4
or dword [esp + ebx + 0x2ec], esi
or dword [esp + ebx + 0x2e8], edi
shld eax, edx, cl
shl edx, cl
or dword [esp + ebx + 0x2e0], edx
or dword [esp + ebx + 0x2e4], eax
mov cl, ch
mov dword [esp + 0x2bc], 0
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2b4], 0
mov dword [esp + 0x2b0], 1
mov dword [esp + 0x2ac], 0
mov dword [esp + 0x2a8], 0
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2a0], 0
mov al, ch
and cl, 0x78
and al, 7
shr cl, 3
neg cl
movsx edx, cl
mov cl, al
mov ebx, dword [esp + edx + 0x2b8]
mov dword [esp + 8], ebx
shl ebx, cl
not cl
mov edi, dword [esp + edx + 0x2b4]
mov dword [esp + 0x18], edi
shr edi, 1
shr edi, cl
mov esi, dword [esp + edx + 0x2bc]
mov cl, al
mov eax, dword [esp + 0x18]
or edi, ebx
mov ebx, dword [esp + edx + 0x2b0]
mov edx, dword [esp + 8]
shld esi, edx, cl
movzx edx, ch
shld eax, ebx, cl
shl ebx, cl
mov dword [esp + 8], edx
shr edx, 3
and edx, 0xfffffff0
or dword [esp + edx + 0x2e4], eax
mov eax, dword [esp + 0x14]
or dword [esp + edx + 0x2ec], esi
or dword [esp + edx + 0x2e0], ebx
or dword [esp + edx + 0x2e8], edi
cmp byte [eax + 6], 0
je 0x616798
movzx ecx, byte [esp + 4]
mov eax, ecx
add al, 0xbf
cmp al, 0x19
ja 0x6165d6
mov eax, ecx
or al, 0x20
jmp 0x6165ef
mov eax, ecx
xor cl, 0x20
add al, 0x9f
cmp al, 0x1a
movzx eax, cl
cmovae eax, dword [esp + 8]
test al, al
je 0x616961
mov edx, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x29c], 0
mov dword [esp + 0x298], 0
mov dword [esp + 0x294], 0
mov dword [esp + 0x290], 1
mov dword [esp + 0x28c], 0
mov dword [esp + 0x288], 0
mov dword [esp + 0x284], 0
mov dword [esp + 0x280], 0
dec dl
mov ecx, edx
mov ch, dl
and dl, 7
and cl, 0x78
shr ch, 7
shr cl, 3
neg cl
movsx ebx, cl
mov cl, dl
mov eax, dword [esp + ebx + 0x298]
mov edi, dword [esp + ebx + 0x294]
mov esi, eax
mov dword [esp + 0x18], edi
shr edi, 1
shl esi, cl
not cl
shr edi, cl
mov cl, dl
mov edx, dword [esp + 0x14]
or edi, esi
mov esi, dword [esp + ebx + 0x29c]
mov ebx, dword [esp + ebx + 0x290]
shld esi, eax, cl
movzx eax, ch
shl eax, 4
or dword [esp + eax + 0x2ec], esi
mov esi, dword [esp + 0x18]
or dword [esp + eax + 0x2e8], edi
shld esi, ebx, cl
shl ebx, cl
or dword [esp + eax + 0x2e0], ebx
or dword [esp + eax + 0x2e4], esi
mov eax, edx
mov dword [esp + 0x27c], 0
mov dword [esp + 0x278], 0
mov dword [esp + 0x274], 0
mov dword [esp + 0x270], 1
mov dword [esp + 0x26c], 0
mov dword [esp + 0x268], 0
mov dword [esp + 0x264], 0
mov dword [esp + 0x260], 0
mov ch, dl
and dl, 7
and al, 0x78
mov cl, dl
shr ch, 7
shr al, 3
neg al
movsx ebx, al
mov eax, dword [esp + ebx + 0x278]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
shl eax, cl
not cl
mov esi, dword [esp + ebx + 0x274]
mov edi, esi
shr edi, 1
shr edi, cl
mov cl, dl
mov edx, dword [esp + 0x18]
or edi, eax
mov eax, dword [esp + ebx + 0x27c]
shld eax, edx, cl
mov edx, dword [esp + ebx + 0x270]
movzx ebx, ch
mov ecx, dword [esp + 0x14]
shl ebx, 4
or dword [esp + ebx + 0x2ec], eax
or dword [esp + ebx + 0x2e8], edi
shld esi, edx, cl
shl edx, cl
or dword [esp + ebx + 0x2e0], edx
or dword [esp + ebx + 0x2e4], esi
mov eax, dword [esp + 0x49c]
mov ecx, dword [esp]
mov ebx, dword [esp + 0x20]
cmp eax, ecx
mov dword [esp + 0x14], eax
jbe 0x617df5
mov esi, dword [esp + 0x498]
lea eax, [ecx + ecx*4]
mov ecx, dword [esi + eax*4 + 4]
test ecx, ecx
je 0x6167f8
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x4b4]
movzx eax, byte [esp + eax + 0x4dc]
add ecx, eax
cmp ecx, edx
jae 0x617f95
shl ecx, 2
add ecx, dword [esp + 0x4b0]
mov eax, dword [ecx]
cmp eax, 1
jne 0x616385
jmp 0x616843
mov ecx, dword [esp + 0x4a4]
mov edx, dword [esp + 0x4a8]
lea eax, [esi + eax*4]
nop dword [eax]
mov eax, dword [eax]
test eax, eax
je 0x616843
cmp eax, edx
jae 0x6178c6
lea edi, [eax + eax*8]
movzx ebx, byte [ecx + edi]
lea eax, [ecx + edi + 5]
cmp bl, byte [esp + 4]
mov ebx, dword [esp + 0x20]
jb 0x616810
jne 0x616843
add ecx, edi
inc ecx
mov eax, dword [ecx]
cmp eax, 1
jne 0x616385
cmp dword [esp + 0x10], 0x7fffffff
jae 0x618155
mov edi, dword [esp + 0x14]
cmp edi, 0x7ffffffe
ja 0x617518
mov edx, dword [esp + 0x5ec]
cmp edi, dword [esp + 0x494]
mov eax, edi
jne 0x616893
mov esi, edx
lea ecx, [esp + 0x494]
mov edx, edi
call fcn.004c8590
mov edx, esi
mov esi, dword [esp + 0x498]
mov eax, dword [esp + 0x49c]
lea ecx, [eax + eax*4]
inc eax
mov dword [esi + ecx*4], 0
mov dword [esi + ecx*4 + 4], 0
mov dword [esi + ecx*4 + 8], 0
mov dword [esi + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x10]
mov dword [esi + ecx*4 + 0x10], edx
lea esi, [esp + 0x494]
mov dword [esp + 0x49c], eax
lea ecx, [esp + 0xf8]
mov edx, esi
push edi
push dword [esp + 0xc]
push dword [esp + 8]
call fcn.004101c0
add esp, 0xc
mov eax, dword [esp + 0xf8]
cmp eax, 3
jne 0x6174c7
mov eax, dword [esp + 0x490]
cmp byte [eax + 6], 0
je 0x616381
movzx ecx, byte [esp + 4]
mov eax, ecx
add al, 0xbf
cmp al, 0x1a
jae 0x616917
or cl, 0x20
mov eax, ecx
jmp 0x61692c
mov edx, dword [esp + 8]
mov eax, ecx
xor cl, 0x20
add al, 0x9f
cmp al, 0x1a
movzx eax, cl
cmovb edx, eax
mov eax, edx
mov edi, dword [esp + 0x14]
movzx eax, al
lea ecx, [esp + 0xf8]
mov edx, esi
push edi
push eax
push dword [esp + 8]
call fcn.004101c0
add esp, 0xc
mov eax, dword [esp + 0xf8]
cmp eax, 3
jne 0x6174c7
mov eax, edi
jmp 0x616385
xor edx, edx
jmp 0x6166c6
mov eax, ecx
lea ecx, [esp + 0xf8]
mov edx, esi
push dword [esp + 0xc]
push eax
call fcn.00410500
add esp, 8
mov eax, dword [esp + 0xf8]
cmp eax, 3
jne 0x6174c7
cmp dword [esp + 0xa0], 0
je 0x6169ac
push dword [esp + 0x5c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x9c]
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xc8]
cmp eax, edi
jne 0x616279
jmp 0x617630
mov edi, dword [esp + 0x10c]
lock dec dword [edi]
jne 0x6169e6
lea ecx, [esp + 0x10c]
call fcn.00618480
cmp dword [esp + 0x100], 0
je 0x616a05
push dword [esp + 0x104]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, 0x92acfd
mov edx, 0x2e
call fcn.007cf630
mov ecx, dword [esp + 0x70]
mov dword [ecx + 4], eax
mov dword [ecx], 0x80000000
jmp 0x6172ac
mov dword [esp + 4], eax
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x104]
mov dword [esp], eax
movzx eax, byte [esp + 0x105]
mov dword [esp + 8], eax
movzx eax, word [esp + 0x106]
mov dword [esp + 0x10], eax
test ebx, ebx
jne 0x615ff2
cmp dword [esp + 0x1c], 0
je 0x616a9a
push dword [esp + 0x40]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esp + 0x20]
lea esi, [esp + 0x494]
lea ecx, [esp + 0x300]
call fcn.004fd060
push esi
call fcn.00618840
add esp, 4
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 4]
cmp eax, 3
jne 0x617d3e
mov eax, dword [esp]
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], ebx
mov byte [esp + 0xb0], al
mov eax, dword [esp + 8]
cmp al, 2
mov byte [esp + 0xb1], al
mov word [esp + 0xb2], si
jae 0x6172b4
mov ecx, ebx
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0xb4]
mov esi, dword [esp + 0xb8]
mov dword [esp + 0xf8], ebx
mov dword [esp + 4], eax
mov eax, dword [ecx + 8]
dec eax
and eax, 0xfffffff8
lea edx, [eax + edi + 8]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], eax
push edx
mov edi, ecx
call dword [ecx + 0x30]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x708], eax
mov dword [esp + 0x14], ebx
jne 0x61806a
test esi, esi
mov ebx, edi
je 0x616b7d
mov edi, dword [esp + 0x20]
js 0x617fbd
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
test eax, eax
jne 0x616b86
jmp 0x6171fc
mov edi, dword [esp + 0x20]
mov eax, 1
mov dword [esp + 0x600], esi
mov dword [esp + 0x604], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x608], 0
lea eax, [esp + 0x2e0]
push 0
push edi
push eax
call dword [ebx + 0xc]
add esp, 0xc
mov ecx, esi
cmp dword [esp + 0x2e0], 0
mov esi, dword [esp + 0x2e4]
jne 0x6172d6
mov eax, dword [esp + 4]
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], esi
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2ec], ecx
lea esi, [esp + 0x2e8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2f0], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x2f4], ecx
mov word [esp + 0x2f8], 0
mov dword [esp + 0x2fc], eax
lea eax, [esp + 0x708]
push esi
push edi
push eax
call dword [ebx + 0x48]
add esp, 0xc
mov eax, dword [esp + 0x708]
cmp eax, 2
je 0x617eeb
xor ecx, ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 8], ecx
jmp 0x616c9d
je 0x616dbe
mov eax, dword [esp + 0x2fc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 8]
dec edx
and edx, 0xfffffff8
lea ecx, [edx + ecx + 8]
push esi
push ecx
lea ecx, [esp + 0x710]
push ecx
call dword [eax + 0x48]
add esp, 0xc
mov eax, dword [esp + 0x708]
cmp eax, 2
je 0x617eeb
test eax, eax
je 0x616f89
mov edi, dword [esp + 0x70c]
mov ebx, dword [esp + 0x710]
mov eax, dword [esp + 0x714]
cmp edi, ebx
jae 0x616d54
mov ecx, dword [esp + 0x2ec]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x74], ebx
lea edx, [ecx + 1]
mov dword [esp + 0x78], ecx
cmp edx, ebx
jb 0x617f1a
cmp eax, ecx
jb 0x617f1a
test edi, edi
mov dword [esp + 0x2e8], ebx
mov dword [esp + 0x2e0], 1
mov dword [esp + 0x2e4], ebx
je 0x616d36
cmp edi, dword [esp + 0x20]
jae 0x616d30
mov eax, dword [esp + 4]
cmp byte [eax + edi], 0xc0
jl 0x616c66
jmp 0x616d36
jne 0x616c66
test ebx, ebx
je 0x616db0
cmp ebx, dword [esp + 0x20]
jae 0x616c60
mov eax, dword [esp + 4]
cmp byte [eax + ebx], 0xbf
jle 0x616c66
jmp 0x616db9
mov dword [esp + 0xf8], edi
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], eax
lea eax, [esp + 0xf8]
lea ecx, [esp + 0x708]
lea edx, [esp + 0x2e0]
push eax
call fcn.007cfd10
add esp, 4
cmp dword [esp + 0x708], 0
je 0x616f89
mov edi, dword [esp + 0x70c]
mov ebx, dword [esp + 0x710]
mov eax, dword [esp + 0x714]
jmp 0x616cc2
mov dword [esp], 0
jmp 0x616dc5
mov dword [esp], ebx
jmp 0x616dc5
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov esi, dword [esp + 8]
mov edx, edi
sub edx, esi
jb 0x617fd9
test esi, esi
je 0x616df2
cmp dword [esp + 0x20], esi
jbe 0x616dec
mov eax, dword [esp + 4]
cmp byte [eax + esi], 0xc0
jge 0x616df2
jmp 0x617fd9
jne 0x617fd9
test edi, edi
je 0x616e11
cmp edi, dword [esp + 0x20]
jae 0x616e0b
mov eax, dword [esp + 4]
cmp byte [eax + edi], 0xbf
jg 0x616e11
jmp 0x617fd9
jne 0x617fd9
mov eax, dword [esp + 0x600]
mov dword [esp + 0x10], edx
sub eax, dword [esp + 0x1c]
cmp eax, edx
jb 0x616f32
mov eax, dword [esp + 0xc]
add esi, dword [esp + 4]
mov dword [esp + 0xc], eax
mov ecx, esi
mov esi, dword [esp + 0x1c]
add eax, esi
push edx
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
add esi, dword [esp + 0x10]
cmp edi, dword [esp]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x608], esi
ja 0x617fc2
mov edx, esi
test edi, edi
je 0x616e80
cmp edi, dword [esp + 0x20]
jae 0x616e7a
mov eax, dword [esp + 4]
cmp byte [eax + edi], 0xc0
jge 0x616e80
jmp 0x617fc2
jne 0x617fc2
test ebx, ebx
je 0x616ea2
mov esi, dword [esp]
cmp esi, dword [esp + 0x20]
jae 0x616e9c
mov eax, dword [esp + 4]
cmp byte [eax + esi], 0xbf
jg 0x616ea2
jmp 0x617fc2
jne 0x617fc2
cmp ecx, dword [esp + 0x14]
jae 0x6175da
mov eax, dword [esp + 0x18]
mov ebx, edx
mov edi, dword [eax + ecx*8]
mov esi, dword [eax + ecx*8 + 4]
mov ecx, dword [esp + 0x600]
sub ecx, edx
cmp ecx, esi
jb 0x616f64
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
add eax, ebx
push esi
push edi
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x2fc]
add ebx, esi
lea esi, [esp + 0x2e8]
mov dword [esp + 0x608], ebx
mov dword [esp + 0x1c], ebx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 8]
dec edx
and edx, 0xfffffff8
lea ecx, [edx + ecx + 8]
push esi
push ecx
lea ecx, [esp + 0x710]
push ecx
call dword [eax + 0x48]
add esp, 0xc
mov eax, dword [esp + 0x708]
mov ecx, dword [esp]
cmp eax, 2
jne 0x616c4e
jmp 0x617eeb
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x600]
push dword [esp + 0x10]
call fcn.007c54d0
mov edx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x604]
mov ecx, dword [esp + 0x608]
mov dword [esp + 0x1c], ecx
jmp 0x616e2c
lea ecx, [esp + 0x600]
mov edx, ebx
push esi
call fcn.007c54d0
add esp, 4
mov eax, dword [esp + 0x604]
mov ebx, dword [esp + 0x608]
jmp 0x616ece
mov esi, dword [esp + 8]
test esi, esi
je 0x616fae
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov edi, edx
sub edi, esi
jbe 0x616fb8
mov eax, dword [esp + 4]
cmp byte [eax + esi], 0xbf
jg 0x616fbe
jmp 0x6180d3
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
jmp 0x616fbe
jne 0x6180d3
mov eax, dword [esp + 0x600]
add dword [esp + 4], esi
sub eax, ebx
cmp eax, edi
jb 0x617350
mov eax, dword [esp + 0xc]
add eax, ebx
push edi
push dword [esp + 8]
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x600]
mov esi, dword [esp + 0x604]
cmp eax, 0x80000000
je 0x6172ec
add ebx, edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ebx
mov eax, dword [0x94bccc]
cmp eax, 1
ja 0x6171d4
movzx eax, byte [0x94b59c]
test al, al
je 0x6171d4
movzx eax, al
cmp eax, 1
je 0x617052
cmp eax, 2
je 0x617096
mov ecx, 0x94b594
call fcn.007d3740
test al, al
je 0x6171d4
movzx eax, al
cmp eax, 2
je 0x617096
mov eax, dword [0x94b594]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x6171d4
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x617086
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [esi + edx + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x6171d4
mov eax, dword [0x94b594]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x618141
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea esi, [esp + 0x258]
mov dword [esp + 0x708], 0x92acb8
mov dword [esp + 0x70c], 1
mov dword [esp + 0x718], 0
mov dword [esp + 0x710], esi
lea esi, [esp + 0x708]
mov dword [esp + 0x714], 1
mov dword [esp + 0xf8], edx
lea edx, [esp + 0x34]
mov dword [esp + 0xfc], ecx
movlps qword [esp + 0x100], xmm0
mov dword [esp + 0x108], 0
mov dword [esp + 0x258], edx
lea edx, [esp + 0xf8]
mov dword [esp + 0x25c], 0x418d10
mov dword [esp + 0x74], edx
lea edx, [esp + 0x74]
mov dword [esp + 0x78], esi
lea esi, [eax + 0x1c]
mov dword [esp + 0x7c], 0x8a682c
mov dword [esp + 0x600], edx
lea edx, [esp + 0x600]
mov dword [esp + 0x604], 1
mov dword [esp + 0x608], esi
mov dword [esp + 0x2f0], edx
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e0], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x6171d4
cmp dword [0x94bcc0], 0
mov edi, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x94bcc8]
je 0x6171b2
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea edi, [eax + edi + 8]
lea eax, [esp + 0x2e0]
push eax
push edi
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x6171d4
lea eax, [esp + 0x2e0]
push eax
push edi
call dword [esi + 0x2c]
add esp, 8
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
test esi, esi
je 0x617208
js 0x617fbd
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
mov edi, eax
test eax, eax
jne 0x61720d
mov ecx, 1
mov edx, esi
call fcn.007c1490
mov edi, 1
push esi
push ebx
push edi
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x34], 0
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], esi
je 0x61723d
push dword [esp + 0x38]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0xa8]
lock dec dword [eax]
jne 0x61725c
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
call fcn.0075aba0
cmp dword [esp + 0x60], 0
je 0x617275
push dword [esp + 0x64]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0xe4]
lock dec dword [eax]
jne 0x61728d
lea ecx, [esp + 0xe4]
call fcn.00618480
cmp dword [esp + 0xd8], 0
je 0x6172ac
push dword [esp + 0xdc]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 2
call fcn.0071ee80
test eax, eax
je 0x6180c4
mov esi, eax
mov byte [eax], 1
jmp 0x6172ec
test ecx, ecx
je 0x6172ec
push dword [esp + 0xc]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, esi
call fcn.007cfeb0
lea ecx, [esp + 0x708]
lea edx, [esp + 0x2e0]
mov dword [esp + 0x708], 0x92acc0
mov dword [esp + 0x70c], 0x19
mov dword [esp + 0x710], eax
mov dword [esp + 0x2e0], 3
call fcn.007cc120
mov ecx, dword [esp + 0x70]
mov dword [ecx + 4], eax
mov dword [ecx], 0x80000000
mov eax, dword [esp + 0xa8]
lock dec dword [eax]
je 0x617249
jmp 0x61725c
lea ecx, [esp + 0x600]
mov edx, ebx
push edi
call fcn.007c54d0
add esp, 4
mov eax, dword [esp + 0x604]
mov ebx, dword [esp + 0x608]
jmp 0x616fd7
jne 0x61738a
test esi, esi
je 0x617398
cmp esi, dword [ebp + 8]
jae 0x617396
mov edx, dword [esp + 0x10]
cmp byte [edx + esi], 0xc0
jge 0x617398
mov dword [esp + 8], eax
mov dword [esp], esi
jmp 0x617ff0
jne 0x61738a
add eax, dword [esp + 0x10]
mov edx, eax
jmp 0x61517b
call fcn.0052ad60
test eax, eax
je 0x61800b
mov ecx, dword [esp + 4]
mov dword [esp], edi
mov dword [esp + 0xc], esi
mov ecx, dword [ecx + 0x304]
test ecx, ecx
je 0x617fa9
mov eax, dword [eax]
xor edx, edx
mov edi, 0xa
div ecx
mov dword [esp + 0x20], edx
shl edx, 6
mov dword [esp + 0x40], edx
jmp 0x6173eb
push esi
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
dec edi
je 0x61745a
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x304]
cmp dword [esp + 0x20], edx
jae 0x6178d2
mov esi, dword [eax + 0x300]
add esi, dword [esp + 0x40]
push esi
call dword [sym.imp.kernel32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x6173e8
mov eax, dword [0x94bfbc]
test eax, 0x7fffffff
jne 0x617443
movzx eax, byte [esi + 4]
test al, al
je 0x617475
mov eax, dword [0x94bfbc]
test eax, 0x7fffffff
je 0x6173e1
call fcn.007d1b30
test al, al
jne 0x6173e1
mov byte [esi + 4], 1
jmp 0x6173e1
call fcn.007d1b30
movzx ecx, byte [esi + 4]
test cl, cl
je 0x6178b0
test al, al
je 0x6173e1
jmp 0x617428
mov esi, dword [esp]
mov ecx, esi
call fcn.00473020
push esi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x6174ba
xor eax, eax
mov edx, dword [esi + 0x10]
mov edi, dword [esp]
cmp edx, dword [esi + 8]
jne 0x617495
lea ecx, [esi + 8]
mov dword [esp + 0x20], eax
call fcn.0075a1c0
mov eax, dword [esp + 0x20]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov dword [ecx + edx*4], edi
inc edx
test al, al
mov dword [esi + 0x10], edx
jne 0x6174b3
mov eax, dword [0x94bfbc]
test eax, 0x7fffffff
jne 0x617ddf
push esi
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
jmp 0x614fbb
mov dword [esp + 4], eax
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
mov ebx, dword [esp + 0x100]
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x104]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
mov dword [esp], eax
movzx eax, byte [esp + 0x105]
mov dword [esp + 8], eax
movzx eax, word [esp + 0x106]
mov dword [esp + 0x10], eax
jmp 0x61754f
mov ebx, 0x7ffffffe
lea esi, [esp + 0x494]
mov dword [esp + 0x18], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
mov dword [esp + 4], 0
mov dword [esp + 0xc], edi
cmp dword [esp + 0xa0], 0
mov dword [esp + 0x20], ebx
je 0x61756f
push dword [esp + 0x5c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0xa4]
mov edx, 0xaaaaaaab
mov eax, ecx
sub eax, edi
mul edx
cmp ecx, edi
je 0x6175b4
mov ebx, edx
add edi, 4
shr ebx, 3
jmp 0x61759c
add edi, 0xc
dec ebx
je 0x6175b4
cmp dword [edi - 4], 0
je 0x617596
push dword [edi]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x617596
cmp dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x20]
je 0x616aa5
push dword [esp + 0x40]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x616aa5
mov edx, dword [esp + 0x14]
push 0x8a83a0
call fcn.007c1be0
mov eax, dword [esp + 0xa4]
mov esi, eax
mov eax, edi
mov ecx, 0xaaaaaaab
sub eax, esi
mul ecx
mov eax, esi
cmp edi, esi
je 0x617630
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
mov esi, edx
add eax, 4
shr esi, 3
jmp 0x617618
add eax, 0xc
dec esi
je 0x617630
cmp dword [eax - 4], 0
je 0x617612
push dword [eax]
push 0
push dword [0x94bf18]
mov ebx, eax
call edi
mov eax, ebx
jmp 0x617612
cmp dword [esp + 0x1c], 0
je 0x617649
push dword [esp + 0x40]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x49c]
cmp dword [esp + 0x494], edi
jbe 0x6176b0
mov eax, dword [esp + 0x498]
test edi, edi
je 0x61768e
lea ecx, [edi*4]
lea esi, [ecx + ecx*4]
push esi
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x6176a2
mov ecx, 4
mov edx, esi
call fcn.007c1490
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esp + 0x498], eax
mov dword [esp + 0x494], edi
lea esi, [esp + 0x2e0]
lea ebx, [esp + 0xf8]
lea edi, [esp + 0x4dc]
mov ecx, ebx
mov edx, esi
call fcn.00414da0
push pe_nt_image_headers32
push ebx
push edi
call fcn.007bd9b0
add esp, 0xc
lea ecx, [esp + 0xf8]
mov edx, esi
call fcn.00412b40
mov eax, dword [esp + 0xf8]
cmp eax, 3
jne 0x61781f
lea esi, [esp + 0x2e0]
mov ecx, esi
call fcn.00412d00
lea ecx, [esp + 0xf8]
mov edx, esi
call fcn.00412380
mov eax, dword [esp + 0xf8]
lea esi, [esp + 0x494]
cmp eax, 3
jne 0x617848
lea ecx, [esp + 0xf8]
lea edx, [esp + 0x2e0]
call fcn.00410af0
mov eax, dword [esp + 0xf8]
cmp eax, 3
jne 0x617848
lea esi, [esp + 0x2e0]
mov ecx, esi
call fcn.00412d80
mov ecx, esi
call fcn.00411c00
lea edx, [esp + 0x300]
lea ecx, [esp + 0xf8]
call fcn.00415150
mov eax, dword [esp + 0x4d0]
test eax, eax
je 0x61779c
lock dec dword [eax]
jne 0x61779c
mov ecx, dword [esp + 0x4d0]
mov edx, dword [esp + 0x4d4]
call fcn.0075aba0
mov eax, dword [esp + 0x100]
movsd xmm0, qword [esp + 0xf8]
mov dword [esi + 0x1f8], eax
movsd qword [esi + 0x1f0], xmm0
xor eax, eax
cmp dword [esp + 0x4d0], 0
setne al
mov eax, dword [esp + eax*8 + 0x5e8]
mov dword [esp + 0x5e4], eax
mov esi, dword [esp + 0x4a8]
cmp dword [esp + 0x4a0], esi
jbe 0x617902
mov eax, dword [esp + 0x4a4]
test esi, esi
je 0x6178e0
lea edi, [esi + esi*8]
push edi
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x6178f4
mov ecx, 1
mov edx, edi
call fcn.007c1490
mov dword [esp + 4], eax
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
mov ebx, dword [esp + 0x100]
lea esi, [esp + 0x494]
jmp 0x617868
mov dword [esp + 4], eax
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
mov ebx, dword [esp + 0x100]
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x104]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
mov dword [esp], eax
movzx eax, byte [esp + 0x105]
mov dword [esp + 8], eax
movzx eax, word [esp + 0x106]
mov dword [esp + 0x10], eax
jmp 0x616aa5
mov dword [esp], eax
mov dword [esp + 8], eax
mov dword [esp + 4], 2
jmp 0x617512
xor al, 1
mov edx, dword [esi + 0x10]
mov edi, dword [esp]
cmp edx, dword [esi + 8]
je 0x617482
jmp 0x617495
mov ecx, eax
push 0x8a80b8
call fcn.007c1be0
mov ecx, dword [esp + 0x20]
push 0x8a9214
call fcn.007c1be0
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 1
mov dword [esp + 0x4a4], eax
mov dword [esp + 0x4a0], esi
mov esi, dword [esp + 0x4b4]
cmp dword [esp + 0x4ac], esi
jbe 0x61795f
mov eax, dword [esp + 0x4b0]
test esi, esi
je 0x61793d
lea edi, [esi*4]
push edi
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x617951
jmp 0x6179ef
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esp + 0x4b0], eax
mov dword [esp + 0x4ac], esi
mov esi, dword [esp + 0x4c0]
cmp dword [esp + 0x4b8], esi
jbe 0x6179b9
mov eax, dword [esp + 0x4bc]
test esi, esi
je 0x617997
lea edi, [esi*8]
push edi
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x6179ab
jmp 0x6179ef
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esp + 0x4bc], eax
mov dword [esp + 0x4b8], esi
mov esi, dword [esp + 0x4cc]
cmp dword [esp + 0x4c4], esi
jbe 0x617a1d
mov eax, dword [esp + 0x4c8]
test esi, esi
je 0x6179fb
lea edi, [esi*4]
push edi
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x617a0f
mov ecx, 4
mov edx, edi
call fcn.007c1490
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esp + 0x4c8], eax
mov dword [esp + 0x4c4], esi
mov esi, dword [esp + 0x4ac]
mov ebx, dword [esp + 0x4a4]
mov edi, dword [esp + 0x4a8]
lea eax, [esp + 0x4b0]
push 0x148
push eax
lea eax, [esp + 0x100]
push eax
call fcn.007bd9b0
add esp, 0xc
movups xmm0, xmmword [esp + 0x494]
lea ecx, [esp + 0x300]
movaps xmmword [esp + 0x20], xmm0
call fcn.004fd060
movaps xmm0, xmmword [esp + 0x20]
lea eax, [esp + 0x724]
mov dword [esp + 0x718], ebx
mov dword [esp + 0x720], esi
mov dword [esp + 0x71c], edi
movups xmmword [esp + 0x708], xmm0
push 0x148
lea ecx, [esp + 0xfc]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
movzx eax, byte [esp + 0x98]
cmp eax, 3
jne 0x617b03
lea eax, [esp + 0x708]
push 0x164
push eax
lea esi, [esp + 0x2e8]
push esi
call fcn.007bd9b0
add esp, 0xc
lea ecx, [esp + 0x600]
lea edx, [esp + 0x74]
push esi
call fcn.004059f0
add esp, 4
movzx eax, byte [esp + 0x608]
mov edi, dword [esp + 0x600]
mov ebx, dword [esp + 0x604]
mov dword [esp], eax
jmp 0x617c8d
test eax, eax
je 0x617c28
cmp eax, 1
jne 0x617c9e
mov edx, dword [esp + 0x74]
lea eax, [esp + 0x708]
lea ecx, [esp + 0x2e0]
push eax
push dword [esp + 0x84]
call fcn.00405b90
add esp, 8
mov esi, dword [esp + 0x2e0]
cmp esi, 0x80000000
je 0x617cd3
movzx eax, byte [esp + 0x2f4]
movups xmm0, xmmword [esp + 0x2e4]
mov ebx, dword [esp + 0x2f8]
mov byte [esp + 4], al
movzx eax, byte [esp + 0x2f5]
movaps xmmword [esp + 0x40], xmm0
mov byte [esp + 0xc], al
movzx eax, word [esp + 0x2f6]
mov word [esp + 0x1c], ax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x20], eax
push 0x128
lea eax, [esp + 0x304]
push eax
lea eax, [esp + 0x100]
push eax
call fcn.007bd9b0
add esp, 0xc
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x150
call fcn.0071ee80
test eax, eax
je 0x6181f2
movaps xmm0, xmmword [esp + 0x40]
movzx ecx, byte [esp + 4]
mov edi, eax
add eax, 0x28
mov dword [edi], 1
mov dword [edi + 4], 1
mov dword [edi + 8], esi
movups xmmword [edi + 0xc], xmm0
mov byte [edi + 0x1c], cl
movzx ecx, byte [esp + 0xc]
mov byte [edi + 0x1d], cl
movzx ecx, word [esp + 0x1c]
mov word [edi + 0x1e], cx
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x20], ebx
mov dword [edi + 0x24], ecx
push 0x128
lea ecx, [esp + 0xfc]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov ebx, 0x8a7e80
mov al, 1
jmp 0x617ec7
lea eax, [esp + 0x708]
push 0x164
push eax
lea esi, [esp + 0x2e8]
push esi
call fcn.007bd9b0
add esp, 0xc
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x16c
call fcn.0071ee80
test eax, eax
je 0x6181e3
mov edi, eax
mov dword [eax], 1
mov dword [eax + 4], 1
add eax, 8
push 0x164
push esi
push eax
call fcn.007bd9b0
add esp, 0xc
mov ebx, 0x8a7dfc
mov dword [esp], 0
movzx eax, byte [esp + 0x99]
mov dword [esp + 8], eax
jmp 0x616acf
mov edx, dword [esp + 0x8c]
movzx eax, byte [esp + 0x8d]
lea esi, [esp + 0x708]
lea ecx, [esp + 0x2e0]
push esi
push eax
call fcn.00406b80
add esp, 8
cmp dword [esp + 0x2e0], 0
je 0x617e03
mov eax, dword [esp + 0x2e8]
mov edi, dword [esp + 0x2ec]
mov ebx, dword [esp + 0x2f0]
movzx esi, word [esp + 0x2f6]
mov dword [esp + 4], eax
movzx eax, byte [esp + 0x2f4]
mov dword [esp], eax
movzx eax, byte [esp + 0x2f5]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x708]
push eax
call fcn.00618840
add esp, 4
mov eax, dword [esp + 4]
cmp eax, 3
je 0x616acf
mov dword [esp + 0x240], eax
mov eax, dword [esp]
mov dword [esp + 0x244], edi
mov dword [esp + 0x248], ebx
lea ecx, [esp + 0x240]
mov byte [esp + 0x24c], al
mov eax, dword [esp + 8]
mov byte [esp + 0x24d], al
mov eax, dword [esp + 0x14]
mov word [esp + 0x24e], si
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x254], eax
call fcn.007cfe80
lea ecx, [esp + 0x708]
lea edx, [esp + 0x2e0]
mov dword [esp + 0x708], 0x92acd9
mov dword [esp + 0x70c], 0x24
mov dword [esp + 0x710], eax
mov dword [esp + 0x2e0], 3
call fcn.007cc120
mov ecx, dword [esp + 0x70]
mov dword [ecx + 4], eax
mov dword [ecx], 0x80000000
jmp 0x61725c
call fcn.007d1b30
test al, al
jne 0x6174b3
mov byte [esi + 4], 1
jmp 0x6174b3
mov edx, dword [esp + 0x14]
push 0x8a80d8
call fcn.007c1be0
movzx eax, word [esp + 0x2f6]
movups xmm0, xmmword [esp + 0x2e4]
movzx ebx, byte [esp + 0x2f4]
mov bh, byte [esp + 0x2f5]
mov esi, dword [esp + 0x2f8]
mov word [esp + 4], ax
mov eax, dword [esp + 0x2fc]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x20], eax
push 0x140
lea eax, [esp + 0x304]
push eax
lea eax, [esp + 0x100]
push eax
call fcn.007bd9b0
add esp, 0xc
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x164
call fcn.0071ee80
test eax, eax
je 0x618201
movaps xmm0, xmmword [esp + 0x40]
movzx ecx, word [esp + 4]
mov edi, eax
add eax, 0x24
mov dword [edi], 1
mov dword [edi + 4], 1
movups xmmword [edi + 8], xmm0
mov byte [edi + 0x18], bl
mov byte [edi + 0x19], bh
mov word [edi + 0x1a], cx
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x1c], esi
mov dword [edi + 0x20], ecx
push 0x140
lea ecx, [esp + 0xfc]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov ebx, 0x8a7f04
mov al, 2
mov dword [esp], eax
movzx eax, byte [esp + 0x99]
mov dword [esp + 8], eax
lea eax, [esp + 0x708]
push eax
call fcn.00618840
add esp, 4
jmp 0x617c99
mov eax, dword [esp + 0x70c]
mov ecx, str.already_checked_that_no_match_error_can_occur
mov edx, 0x2d
mov dword [esp + 0xf8], eax
push 0x8a8320
push 0x8abf0c
lea eax, [esp + 0x100]
push eax
call fcn.007c1f60
lea ecx, [esp + 0x74]
lea edx, [esp + 0x34]
mov dword [esp + 0x708], 0x8a81e4
mov dword [esp + 0x70c], 2
mov dword [esp + 0x718], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0xf8], ecx
lea ecx, [esp + 0xf8]
mov dword [esp + 0xfc], 0x418b90
mov dword [esp + 0x100], edx
mov edx, 0x8a81f4
mov dword [esp + 0x104], 0x4631b0
mov dword [esp + 0x710], ecx
lea ecx, [esp + 0x708]
mov dword [esp + 0x714], 2
call fcn.007c1b50
push 0x8a80e8
call fcn.007c1be0
push 0x8a8140
call fcn.007c1be0
mov ecx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero_rustc_25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04librarycore_src_slice_sort.rs
mov edx, 0x39
push 0x8a9204
call fcn.007c1ca0
call fcn.00418cb0
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x20]
push 0x8a83c0
push dword [esp + 4]
push edi
call fcn.007c2190
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x20]
push 0x8a83b0
push edi
push esi
call fcn.007c2190
mov dword [esp], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 8]
push 0x92ad98
push dword [esp + 4]
push dword [esp + 0x10]
call fcn.007c2190
ud2
lea eax, [esp + 0x600]
mov ecx, 0x93c0b4
mov edx, 0x46
push 0x93c14c
push 0x8abe5c
push eax
call fcn.007c1f60
lea eax, [esp + 0x708]
lea esi, [esp + 0x600]
mov ecx, 1
mov edx, 0x938a7c
mov dword [esp + 0x708], 0
push 0x8a9224
push eax
push esi
call fcn.007ccc60
mov ecx, 1
mov edx, pe_nt_image_headers32
call fcn.007c1490
lea eax, [esp + 0x2e0]
lea esi, [esp + 0x708]
lea edx, [esp + 0xf8]
xor ecx, ecx
mov dword [esp + str.replace_all_requires_a_replacement_for_every_pattern_in_the_automaton], 0x8a8388
mov dword [esp + 0x2e4], 1
mov dword [esp + 0x2e8], 0x93d1f8
mov dword [esp + 0x2ec], 0
mov dword [esp + 0x2f0], 0
push 0x8a8390
push eax
push esi
call fcn.007ccc60
mov ecx, 1
mov edx, 2
call fcn.007c1490
mov ecx, dword [esp + 4]
push 0x8a83d0
push edx
push esi
call fcn.007c2190
mov edx, dword [esp + 0x40]
mov ecx, 4
call fcn.007c1490
mov ecx, 0x8a6758
mov edx, 0x22
push 0x92ab54
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x92ab94
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x92abd8
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x92ac20
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x92ac6c
call fcn.007c2000
mov eax, dword [esp + 0x10]
mov ecx, str.patterns_longer_than_SmallIndex::MAX_are_not_allowed_
mov edx, 0x34
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf8], eax
push 0x7d6578
push 0x7d5a28
lea eax, [esp + 0x100]
push eax
call fcn.007c1f60
mov dword [esp + 0xf8], str.expected_number_of_patterns_to_match_pattern_ID
mov dword [esp + 0xfc], 1
mov dword [esp + 0x100], 0x93d1f8
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea edx, [esp + 0x34]
xor ecx, ecx
push 0x8a8130
lea eax, [esp + 0xfc]
push eax
lea eax, [esp + 0x608]
push eax
call fcn.007ccc60
mov ecx, 4
mov edx, 0x16c
call fcn.007c1490
mov ecx, 4
mov edx, 0x150
call fcn.007c1490
mov ecx, 4
mov edx, 0x164
call fcn.007c1490