Function at 0x7c31a0
Capabilities:
Check for software breakpoints
Check http status code
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1b8
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x90], ecx
movzx ecx, byte [edx + 0x19]
mov dword [esp + 0xfc], 0
mov dword [esp + 0x190], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x178], 3
mov byte [esp + 0x194], cl
mov dword [esp + 0xcc], eax
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x7c325d
mov ecx, dword [esp + 0xcc]
lea edi, [eax - 1]
and edi, 0x3fffffff
cmp edi, 7
mov esi, dword [ecx + 0x18]
mov ecx, esi
jb 0x7c3249
inc edi
movaps xmm0, xmmword [0x7d4a20]
mov dword [esp + 0x14], esi
mov ebx, edi
and ebx, 0xfffffff8
lea ecx, [esi + ebx*4]
add esi, 0x10
mov dword [esp + 0xc], ebx
nop word [eax + eax]
movups xmmword [esi - 0x10], xmm0
movups xmmword [esi], xmm0
add esi, 0x20
add ebx, 0xfffffff8
jne 0x7c3230
cmp edi, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
je 0x7c325d
lea eax, [esi + eax*4]
nop dword [eax]
mov dword [ecx], 0xffff
add ecx, 4
cmp ecx, eax
jne 0x7c3250
mov ecx, dword [esp + 0xcc]
movzx ebx, byte [ebp + 0xc]
mov dword [esp + 0x50], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 8], 0
mov dword [esp + 0x18], 1
mov dword [esp + 0x70], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x130], 0
mov dword [esp + 4], 0
mov esi, dword [ecx + 0x24]
mov eax, dword [ecx + 0x28]
mov dword [ecx + 0x28], 0
lea edi, [ecx + 0x2c]
mov dword [esp + 0x14c], edi
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], eax
mov dword [esp + 0xd0], eax
movzx eax, byte [edx]
mov dword [esp + 0xec], edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x134], esi
mov esi, 0
mov byte [esp + 0x4b], al
lea eax, [edx + 0x14]
mov dword [esp + 0x148], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x78], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x8c], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x88], eax
movzx eax, byte [ebp + 0x14]
mov byte [esp + 0x4c], al
lea eax, [ecx + 0x44]
mov dword [esp + 0x74], eax
mov dword [esp + 0x1c], ebx
test esi, esi
jne 0x7c335c
jmp 0x7c34e4
mov esi, dword [esp + 0x14]
test esi, esi
je 0x7c34e4
mov edx, dword [esp + 0x134]
lea ecx, [esp + 0x20]
push dword [esp + 0x54]
push dword [esp + 0x150]
push dword [esp + 0xd8]
call fcn.004ac950
add esp, 0xc
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x110], 0
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x30]
mov dword [esp + 0x14], eax
mov edx, dword [ecx + 0x10]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov dword [esp + 0x160], edx
movsd qword [esp + 0x158], xmm1
movsd qword [esp + 0x150], xmm0
mov dword [esp + 0x68], edx
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm0
cmp dword [esp + 0xfc], 0
je 0x7c5404
cmp dword [esp + 0x100], 0
mov dword [esp + 0xc], esi
je 0x7c3630
lea eax, [esp + 0x100]
lea ecx, [esp + 0x168]
mov edx, edi
push eax
call fcn.004b3250
add esp, 4
mov eax, dword [edi]
mov esi, dword [edi + 8]
sub eax, esi
cmp eax, 1
jbe 0x7c375b
mov eax, dword [edi + 4]
mov word [eax + esi], 0x203a
add esi, 2
mov eax, edi
mov dword [edi + 8], esi
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov eax, dword [eax]
sub eax, esi
cmp eax, ebx
jb 0x7c3771
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
add eax, esi
push ebx
push edi
mov edi, ecx
push eax
call fcn.007bd9b0
add esp, 0xc
add esi, ebx
mov dword [edi + 8], esi
mov eax, dword [edi]
sub eax, esi
cmp eax, 1
jbe 0x7c378a
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x1c]
mov word [eax + esi], 0xa0d
add esi, 2
mov eax, dword [esp + 0x58]
mov dword [edi + 8], esi
push dword [esp + 0x60]
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
push ecx
call dword [eax + 0xc]
add esp, 0xc
cmp dword [esp + 0xc], 0
je 0x7c3350
cmp dword [esp + 0x110], 0
je 0x7c3350
mov eax, dword [esp + 0x114]
test eax, eax
je 0x7c3350
push dword [esp + 0x11c]
push dword [esp + 0x11c]
lea ecx, [esp + 0x128]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov esi, dword [esp + 0x14]
test esi, esi
jne 0x7c335c
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0xd0]
je 0x7c42da
jae 0x7c4f3f
imul eax, dword [esp + 0x50], 0x34
mov edx, dword [esp + 0x134]
cmp dword [esp + 0xfc], 0
movsd xmm0, qword [edx + eax + 0x20]
movsd xmm1, qword [edx + eax + 0x28]
movsd qword [esp + 0x1a8], xmm1
movsd qword [esp + 0x1a0], xmm0
movsd xmm2, qword [edx + eax + 0xc]
movsd xmm3, qword [edx + eax + 0x14]
movsd qword [esp + 0x150], xmm2
movsd qword [esp + 0x158], xmm3
mov ecx, dword [edx + eax + 0x1c]
movsd xmm2, qword [esp + 0x158]
mov dword [esp + 0x160], ecx
mov ecx, dword [edx + eax]
mov eax, dword [edx + eax + 4]
mov edx, dword [esp + 0x160]
mov dword [esp + 0x110], 1
movsd qword [esp + 0x60], xmm2
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x114]
mov dword [esp + 0x54], eax
mov dword [esp + 0x68], edx
movsd qword [ecx], xmm0
movsd xmm0, qword [esp + 0x150]
movsd qword [ecx + 8], xmm1
movsd qword [esp + 0x58], xmm0
je 0x7c35d2
mov eax, dword [esp + 0x100]
test eax, eax
je 0x7c35d2
push dword [esp + 0x108]
push dword [esp + 0x108]
lea ecx, [esp + 0x114]
push ecx
call dword [eax + 0xc]
add esp, 0xc
inc dword [esp + 0x50]
test byte [esp + 0x10], 1
movsd xmm0, qword [esp + 0x1a0]
movsd xmm1, qword [esp + 0x1a8]
lea eax, [esp + 0x100]
mov dword [esp + 0xfc], 1
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
jne 0x7c36b0
mov dword [esp + 0x10], 0
cmp dword [esp + 0x100], 0
mov dword [esp + 0xc], esi
jne 0x7c33f5
nop dword [eax + eax]
movzx eax, byte [esp + 0x104]
cmp eax, 0x1f
jg 0x7c3690
cmp eax, 0x18
jne 0x7c373f
test byte [esp + 0x4c], 1
je 0x7c3659
mov eax, dword [esp + 0x10]
and al, 1
je 0x7c4348
movzx ecx, byte [esp + 0x4b]
mov eax, ecx
and al, 3
cmp al, 2
jne 0x7c37d0
mov eax, dword [esp + 0x78]
cmp byte [eax], 5
jne 0x7c3afc
mov byte [esp + 0x4c], 1
jmp 0x7c33f5
cmp eax, 0x20
jne 0x7c374d
mov al, 1
mov dword [esp + 0x130], eax
jmp 0x7c33f5
test byte [esp + 0x12c], 1
jne 0x7c36f4
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
cmp eax, 1
jbe 0x7c37a0
mov eax, dword [edi + 4]
mov word [eax + edx], 0xa0d
add edx, 2
mov dword [edi + 8], edx
mov dword [esp + 0x10], 0
cmp dword [esp + 0xfc], 0
jne 0x7c33e3
jmp 0x7c5404
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
cmp eax, 0xa
jbe 0x7c37b4
mov eax, dword [edi + 4]
mov dword [eax + edx + 7], 0xa0d6465
mov dword [eax + edx + 4], 0x656b6e75
mov dword [eax + edx], 0x6863202c
add edx, 0xb
mov dword [edi + 8], edx
mov dword [esp + 0x10], 0
cmp dword [esp + 0xfc], 0
jne 0x7c33e3
jmp 0x7c5404
cmp eax, 0x14
jne 0x7c33f5
jmp 0x7c38e1
cmp eax, 0x45
jne 0x7c33f5
jmp 0x7c39de
mov ecx, edi
mov edx, esi
push 2
call fcn.007c54d0
add esp, 4
mov esi, dword [edi + 8]
jmp 0x7c341e
mov ecx, dword [ebp + 8]
mov edx, esi
push ebx
call fcn.007c54d0
add esp, 4
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
jmp 0x7c3443
mov ecx, edi
mov edx, esi
push 2
call fcn.007c54d0
add esp, 4
mov esi, dword [edi + 8]
jmp 0x7c346a
mov ecx, edi
push 2
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 8]
jmp 0x7c36ca
mov ecx, edi
push 0xb
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 8]
jmp 0x7c3704
movzx eax, cl
and eax, 3
jne 0x7c3a5e
test byte [esp + 0x10], 1
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], ecx
jne 0x7c3d59
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0x18
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x168]
mov edx, edi
push eax
call fcn.004b3250
add esp, 4
mov eax, dword [edi]
mov esi, dword [edi + 8]
sub eax, esi
cmp eax, 1
jbe 0x7c41c0
mov eax, dword [edi + 4]
mov word [eax + esi], 0x203a
add esi, 2
mov eax, dword [esp + 0x20]
mov dword [edi + 8], esi
test eax, eax
je 0x7c387b
push dword [esp + 0x28]
push dword [esp + 0x28]
lea ecx, [esp + 0x34]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov esi, dword [edi + 8]
mov eax, edi
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov eax, dword [eax]
sub eax, esi
cmp eax, ebx
jb 0x7c41d6
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
add eax, esi
push ebx
push edi
mov edi, ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
add esi, ebx
mov al, 1
mov dword [esp + 0x70], 0
mov dword [esp + 0x18], 1
mov byte [esp + 0x4c], 1
mov dword [edi + 8], esi
mov dword [esp + 0x10], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
jmp 0x7c3d51
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
test bl, 1
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], ecx
jne 0x7c3921
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
call fcn.004b26b0
movzx ebx, bl
test al, al
mov ecx, 1
cmovne ebx, ecx
test byte [esp + 0x10], 1
mov dword [esp + 0x1c], ebx
jne 0x7c3d02
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0x14
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x168]
mov edx, edi
push eax
call fcn.004b3250
add esp, 4
mov eax, dword [edi]
mov esi, dword [edi + 8]
sub eax, esi
cmp eax, 1
jbe 0x7c3f68
mov eax, dword [edi + 4]
mov word [eax + esi], 0x203a
add esi, 2
mov eax, dword [esp + 0x20]
mov dword [edi + 8], esi
test eax, eax
je 0x7c39a3
push dword [esp + 0x28]
push dword [esp + 0x28]
lea ecx, [esp + 0x34]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov esi, dword [edi + 8]
mov eax, edi
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov eax, dword [eax]
sub eax, esi
cmp eax, ebx
jb 0x7c3f7e
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
add eax, esi
push ebx
push edi
mov edi, ecx
push eax
call fcn.007bd9b0
add esp, 0xc
add esi, ebx
mov al, 1
mov dword [edi + 8], esi
mov dword [esp + 0x10], eax
jmp 0x7c3d51
mov eax, dword [esp + 0x50]
test byte [esp + 0x4c], 1
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], ecx
je 0x7c3a12
mov eax, dword [esp + 0x10]
and al, 1
je 0x7c4f89
mov eax, dword [esp + 0xcc]
mov esi, dword [esp + 0xc]
cmp byte [eax + 0x46], 1
je 0x7c3d59
mov eax, dword [esp + 0x78]
movzx ecx, byte [eax]
cmp ecx, 5
je 0x7c3d59
mov eax, dword [esp + 0x74]
cmp ecx, 7
movzx eax, word [eax]
jne 0x7c3e14
lea ecx, [eax - 0x64]
movzx ecx, cx
cmp ecx, 0xc8
jb 0x7c3d59
jmp 0x7c3e21
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
test edi, edi
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], ecx
je 0x7c463d
mov ebx, dword [esp + 0x5c]
xor edx, edx
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax]
test edi, edi
je 0x7c3db9
movzx ecx, byte [ebx]
add cl, 0xd0
cmp cl, 9
ja 0x7c463d
mov eax, esi
mov esi, edx
mov edx, 0xa
mul edx
mov edx, 0xa
mov dword [esp + 0x128], eax
mov eax, esi
seto ch
mul edx
mov esi, edx
add esi, dword [esp + 0x128]
setb dl
or dl, ch
jne 0x7c463d
mov edx, eax
movzx ecx, cl
inc ebx
dec edi
add edx, ecx
adc esi, 0
jae 0x7c3aa0
jmp 0x7c463d
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x60], 1
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], ecx
jne 0x7c3b31
mov eax, dword [esp + 0x5c]
cmp byte [eax], 0x30
je 0x7c3d59
mov eax, dword [0x94bccc]
cmp eax, 3
ja 0x7c3d59
movzx eax, byte [0x94a828]
test al, al
je 0x7c3d59
movzx eax, al
cmp eax, 1
je 0x7c3b75
cmp eax, 2
je 0x7c3bbd
mov ecx, 0x94a820
call fcn.007d3740
test al, al
je 0x7c3d59
movzx eax, al
cmp eax, 2
je 0x7c3bbd
mov eax, dword [0x94a820]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x7c3d59
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x7c3bad
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [esi + edx + 8]
mov esi, dword [esp + 0xc]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x7c3d59
mov eax, dword [0x94a820]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x7c5493
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea ebx, [esp + 0xf0]
mov dword [esp + 0xa8], 0x837bc0
mov dword [esp + 0xac], 1
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb0], ebx
lea ebx, [esp + 0xa8]
mov dword [esp + 0xb4], 1
mov dword [esp + 0x94], edx
lea edx, [esp + 0xc0]
mov dword [esp + 0x98], ecx
lea ecx, [eax + 0x1c]
movlps qword [esp + 0x9c], xmm0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x7c], edx
lea edx, [esp + 0x58]
mov dword [esp + 0x80], 1
mov dword [esp + 0x84], ecx
mov dword [esp + 0xf0], edx
lea edx, [esp + 0x94]
mov dword [esp + 0xf4], fcn.004a0f80
mov dword [esp + 0xc0], edx
lea edx, [esp + 0x7c]
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], 0x836938
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x7c3cfc
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ebx, dword [0x94bcc8]
je 0x7c3cd3
mov eax, dword [ebx + 8]
dec eax
and eax, 0xfffffff8
lea edx, [eax + edx + 8]
lea eax, [esp + 0x20]
mov dword [esp + 0x128], edx
push eax
push edx
call dword [ebx + 0x28]
add esp, 8
test al, al
je 0x7c3cfc
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x12c]
call dword [ebx + 0x2c]
add esp, 8
mov ebx, dword [esp + 0x1c]
jmp 0x7c3d59
mov eax, dword [edi]
mov esi, dword [edi + 8]
sub eax, esi
cmp eax, 1
jbe 0x7c3f97
mov eax, dword [edi + 4]
mov word [eax + esi], 0x202c
add esi, 2
mov eax, edi
mov dword [edi + 8], esi
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov eax, dword [eax]
sub eax, esi
cmp eax, ebx
jb 0x7c3fad
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
add eax, esi
push ebx
push edi
mov edi, ecx
push eax
call fcn.007bd9b0
add esp, 0xc
add esi, ebx
mov dword [edi + 8], esi
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x58]
push dword [esp + 0x60]
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
push ecx
call dword [eax + 0xc]
add esp, 0xc
test esi, esi
je 0x7c3db0
cmp dword [esp + 0x110], 0
je 0x7c3db0
mov eax, dword [esp + 0x114]
test eax, eax
je 0x7c3db0
push dword [esp + 0x11c]
push dword [esp + 0x11c]
lea ecx, [esp + 0x128]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov esi, dword [esp + 0x14]
jmp 0x7c333d
mov esi, dword [esp + 0x14]
jmp 0x7c333d
cmp dword [esp + 0x124], 1
mov dword [esp + 0x138], edx
mov dword [esp + 0x13c], esi
jne 0x7c3e63
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x140]
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x1c]
xor edx, eax
xor esi, ecx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
or esi, edx
jne 0x7c524b
mov dword [esp + 0x124], 1
jmp 0x7c3d55
lea ecx, [eax - 0x64]
cmp cx, 0x64
jb 0x7c3d59
movzx eax, ax
cmp eax, 0xcc
je 0x7c3d59
cmp eax, 0x130
je 0x7c3d59
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
xor edx, edx
cmp eax, edx
je 0x7c3fc6
movzx ebx, byte [ecx + edx]
inc edx
cmp bl, 9
je 0x7c3e44
add bl, 0xe0
cmp bl, 0x5f
jb 0x7c3e44
jmp 0x7c40e6
mov edi, dword [ebp + 8]
mov dword [esp + 0x4c], edx
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0x18
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x168]
mov edx, edi
push eax
call fcn.004b3250
add esp, 4
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
cmp eax, 1
jbe 0x7c41ef
mov eax, dword [edi + 4]
mov word [eax + edx], 0x203a
add edx, 2
mov eax, dword [esp + 0x20]
mov dword [edi + 8], edx
test eax, eax
je 0x7c3edd
push dword [esp + 0x28]
push dword [esp + 0x28]
lea ecx, [esp + 0x34]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov edx, dword [edi + 8]
mov eax, edi
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov eax, dword [eax]
sub eax, edx
cmp eax, ebx
jb 0x7c4203
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
add eax, edx
push ebx
push edi
mov edi, ecx
push eax
mov dword [esp + 0x1c], ebx
mov ebx, edx
call fcn.007bd9b0
add esp, 0xc
mov ecx, dword [esp + 0x4c]
add ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x138]
mov al, 1
mov dword [esp + 0x70], 0
mov dword [esp + 0x18], 1
mov dword [esp + 4], esi
mov byte [esp + 0x4c], 1
mov dword [esp + 0x124], 1
mov dword [esp + 0x10], eax
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x13c]
mov dword [edi + 8], ebx
mov dword [esp + 0x144], edx
mov dword [esp + 0x140], ecx
jmp 0x7c3d51
mov ecx, edi
mov edx, esi
push 2
call fcn.007c54d0
add esp, 4
mov esi, dword [edi + 8]
jmp 0x7c3976
mov ecx, dword [ebp + 8]
mov edx, esi
push ebx
call fcn.007c54d0
add esp, 4
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
jmp 0x7c39b9
mov ecx, edi
mov edx, esi
push 2
call fcn.007c54d0
add esp, 4
mov esi, dword [edi + 8]
jmp 0x7c3d12
mov ecx, dword [ebp + 8]
mov edx, esi
push ebx
call fcn.007c54d0
add esp, 4
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
jmp 0x7c3d37
mov dword [esp + 0x20], 0x2c
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 1
mov dword [esp + 0x38], 0x2c
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], eax
mov word [esp + 0x44], 1
call fcn.004b2d70
test eax, eax
je 0x7c40e6
mov ecx, eax
call fcn.005ad850
cmp edx, 7
jne 0x7c40e6
movzx ecx, byte [eax]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x63
jne 0x7c40e6
movzx ecx, byte [eax + 1]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x68
jne 0x7c40e6
movzx ecx, byte [eax + 2]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x75
jne 0x7c40e6
movzx ecx, byte [eax + 3]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x6e
jne 0x7c40e6
movzx ecx, byte [eax + 4]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x6b
jne 0x7c40e6
movzx ecx, byte [eax + 5]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x65
jne 0x7c4249
movzx eax, byte [eax + 6]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x64
sete bl
jmp 0x7c424b
xor ebx, ebx
xor bl, 1
test byte [esp + 0x10], 1
mov dword [esp + 0x12c], ebx
jne 0x7c4263
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0x45
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x168]
mov edx, edi
push eax
call fcn.004b3250
add esp, 4
mov eax, dword [edi]
mov esi, dword [edi + 8]
sub eax, esi
cmp eax, 1
jbe 0x7c421a
mov eax, dword [edi + 4]
mov word [eax + esi], 0x203a
add esi, 2
mov eax, dword [esp + 0x20]
mov dword [edi + 8], esi
test eax, eax
je 0x7c4170
push dword [esp + 0x28]
push dword [esp + 0x28]
lea ecx, [esp + 0x34]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov esi, dword [edi + 8]
mov eax, edi
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov eax, dword [eax]
sub eax, esi
cmp eax, ebx
jb 0x7c4230
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
add eax, esi
push ebx
push edi
mov edi, ecx
push eax
call fcn.007bd9b0
add esp, 0xc
add esi, ebx
mov al, 1
mov dword [esp + 0x18], 0
mov dword [esp + 0x70], 0
mov byte [esp + 0x4c], 1
mov dword [esp + 0x10], eax
mov dword [edi + 8], esi
jmp 0x7c3d51
mov ecx, edi
mov edx, esi
push 2
call fcn.007c54d0
add esp, 4
mov esi, dword [edi + 8]
jmp 0x7c384e
mov ecx, dword [ebp + 8]
mov edx, esi
push ebx
call fcn.007c54d0
add esp, 4
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
jmp 0x7c3891
mov ecx, edi
push 2
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 8]
jmp 0x7c3eb0
mov ecx, dword [ebp + 8]
push ebx
call fcn.007c54d0
add esp, 4
mov eax, dword [ebp + 8]
mov edx, dword [eax + 8]
jmp 0x7c3ef3
mov ecx, edi
mov edx, esi
push 2
call fcn.007c54d0
add esp, 4
mov esi, dword [edi + 8]
jmp 0x7c4143
mov ecx, dword [ebp + 8]
mov edx, esi
push ebx
call fcn.007c54d0
add esp, 4
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
jmp 0x7c4186
xor ebx, ebx
mov edi, dword [ebp + 8]
xor bl, 1
test byte [esp + 0x10], 1
mov dword [esp + 0x12c], ebx
je 0x7c40fd
mov eax, dword [edi]
mov esi, dword [edi + 8]
sub eax, esi
cmp eax, 1
jbe 0x7c42b1
mov eax, dword [edi + 4]
mov word [eax + esi], 0x202c
add esi, 2
mov eax, edi
mov dword [edi + 8], esi
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov eax, dword [eax]
sub eax, esi
cmp eax, ebx
jb 0x7c42c4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
add eax, esi
push ebx
push edi
mov edi, ecx
push eax
call fcn.007bd9b0
add esp, 0xc
add esi, ebx
mov byte [esp + 0x4c], 1
jmp 0x7c3d4e
mov ecx, edi
mov edx, esi
push 2
call fcn.007c54d0
add esp, 4
mov esi, dword [edi + 8]
jmp 0x7c426f
mov ecx, dword [ebp + 8]
mov edx, esi
push ebx
call fcn.007c54d0
add esp, 4
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
jmp 0x7c4290
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], ecx
lea ecx, [esp + 0xd4]
call fcn.004b3100
test byte [esp + 0x10], 1
mov esi, dword [esp + 0x70]
je 0x7c45f6
test byte [esp + 0x12c], 1
jne 0x7c45c6
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
cmp eax, 1
jbe 0x7c4f54
mov eax, dword [edi + 4]
mov word [eax + edx], 0xa0d
add edx, 2
jmp 0x7c45f3
mov eax, dword [esp + 0x50]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xd8], eax
mov eax, dword [0x94bccc]
cmp eax, 3
ja 0x7c4512
movzx eax, byte [0x94a84c]
test al, al
je 0x7c4512
movzx eax, al
cmp eax, 1
je 0x7c43ad
cmp eax, 2
je 0x7c43f5
mov ecx, 0x94a844
call fcn.007d3740
test al, al
je 0x7c4512
movzx eax, al
cmp eax, 2
je 0x7c43f5
mov eax, dword [0x94a844]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x7c4512
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x7c43e5
mov ebx, esi
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [esi + edx + 8]
mov esi, ebx
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x7c4512
mov eax, dword [0x94a844]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x7c546b
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea esi, [esp + 0xa8]
mov dword [esp + 0xa8], 0x837b70
mov dword [esp + 0xac], 1
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb0], 0x93d1f8
mov dword [esp + 0xb4], 0
mov dword [esp + 0x94], edx
lea edx, [esp + 0x94]
mov dword [esp + 0x98], ecx
movlps qword [esp + 0x9c], xmm0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xc0], edx
lea edx, [esp + 0xc0]
mov dword [esp + 0xc4], esi
lea esi, [eax + 0x1c]
mov dword [esp + 0xc8], 0x836938
mov dword [esp + 0x7c], edx
lea edx, [esp + 0x7c]
mov dword [esp + 0x80], 1
mov dword [esp + 0x84], esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x7c450e
cmp dword [0x94bcc0], 0
mov ebx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x94bcc8]
je 0x7c44f2
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea ebx, [eax + ebx + 8]
lea eax, [esp + 0x20]
push eax
push ebx
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x7c450e
lea eax, [esp + 0x20]
push eax
push ebx
call dword [esi + 0x2c]
add esp, 8
mov esi, dword [esp + 0xc]
mov eax, dword [ebp + 0x10]
cmp dword [edi + 8], eax
jb 0x7c451d
mov dword [edi + 8], eax
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0xc
call fcn.0071ee80
test eax, eax
je 0x7c4824
mov ecx, dword [esp + 0x90]
mov dword [eax], 0
mov word [eax + 8], 0x401
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x58]
mov dword [ecx + 4], 0
mov dword [ecx], 3
push dword [esp + 0x60]
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
push ecx
call dword [eax + 0xc]
add esp, 0xc
test esi, esi
je 0x7c45a7
cmp dword [esp + 0x110], 0
je 0x7c45a7
mov eax, dword [esp + 0x114]
test eax, eax
je 0x7c45a7
push dword [esp + 0x11c]
push dword [esp + 0x11c]
lea ecx, [esp + 0x128]
push ecx
call dword [eax + 0xc]
add esp, 0xc
lea ecx, [esp + 0xd4]
call fcn.004b3100
cmp dword [esp + 0xfc], 0
jne 0x7c4aec
jmp 0x7c4b13
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
cmp eax, 0xa
jbe 0x7c4f68
mov eax, dword [edi + 4]
mov dword [eax + edx + 7], 0xa0d6465
mov dword [eax + edx + 4], 0x656b6e75
mov dword [eax + edx], 0x6863202c
add edx, 0xb
mov dword [edi + 8], edx
test byte [esp + 0x4c], 1
movzx eax, byte [esp + 0x4b]
jne 0x7c48c5
test al, 3
je 0x7c4833
movzx eax, al
and eax, 3
cmp eax, 2
je 0x7c489c
mov eax, dword [esp + 0xcc]
xor esi, esi
mov dword [esp + 0x18], 2
cmp byte [eax + 0x46], 1
jne 0x7c4d26
jmp 0x7c48c5
mov eax, dword [0x94bccc]
mov edi, dword [ebp + 8]
cmp eax, 3
ja 0x7c47fa
movzx eax, byte [0x94a834]
test al, al
je 0x7c47fa
movzx eax, al
cmp eax, 1
je 0x7c4684
cmp eax, 2
je 0x7c46c8
mov ecx, 0x94a82c
call fcn.007d3740
test al, al
je 0x7c47fa
movzx eax, al
cmp eax, 2
je 0x7c46c8
mov eax, dword [0x94a82c]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x7c47fa
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x7c46b8
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 0x7c47fa
mov eax, dword [0x94a82c]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x7c547f
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea esi, [esp + 0xf0]
mov dword [esp + 0xa8], 0x837c48
mov dword [esp + 0xac], 1
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb0], esi
lea esi, [esp + 0xa8]
mov dword [esp + 0xb4], 1
mov dword [esp + 0x94], edx
lea edx, [esp + 0x58]
mov dword [esp + 0x98], ecx
movlps qword [esp + 0x9c], xmm0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xf0], edx
lea edx, [esp + 0x94]
mov dword [esp + 0xf4], fcn.004a0f80
mov dword [esp + 0xc0], edx
lea edx, [esp + 0xc0]
mov dword [esp + 0xc4], esi
lea esi, [eax + 0x1c]
mov dword [esp + 0xc8], 0x836938
mov dword [esp + 0x7c], edx
lea edx, [esp + 0x7c]
mov dword [esp + 0x80], 1
mov dword [esp + 0x84], esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x7c47fa
cmp dword [0x94bcc0], 0
mov ebx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x94bcc8]
je 0x7c47de
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea ebx, [eax + ebx + 8]
lea eax, [esp + 0x20]
push eax
push ebx
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x7c47fa
lea eax, [esp + 0x20]
push eax
push ebx
call dword [esi + 0x2c]
add esp, 8
mov eax, dword [ebp + 0x10]
cmp dword [edi + 8], eax
jb 0x7c4805
mov dword [edi + 8], eax
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0xc
call fcn.0071ee80
mov esi, dword [esp + 0xc]
test eax, eax
jne 0x7c4538
mov ecx, 4
mov edx, 0xc
call fcn.007c1490
mov eax, dword [esp + 0x88]
or eax, dword [esp + 0x8c]
je 0x7c489c
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
lea ecx, [eax - 0x64]
cmp cx, 0x64
jb 0x7c48ab
lea edx, [eax - 0xc8]
cmp dx, 0x63
ja 0x7c486b
mov edx, dword [esp + 0x78]
cmp byte [edx], 7
je 0x7c491b
movzx eax, ax
xor esi, esi
mov dword [esp + 0x18], 1
cmp eax, 0xcc
je 0x7c488a
cmp eax, 0x130
jne 0x7c5087
mov dword [esp + 8], 0
mov dword [esp + 4], 0
jmp 0x7c48c5
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
lea ecx, [eax - 0x64]
cmp cx, 0x64
jae 0x7c48fb
mov dword [esp + 8], 0
mov dword [esp + 0x18], 1
mov dword [esp + 4], 0
xor esi, esi
mov eax, dword [esp + 0x78]
movzx ecx, byte [eax]
mov eax, dword [esp + 0x74]
movzx eax, word [eax]
cmp cl, 5
je 0x7c4951
movzx ecx, cl
cmp ecx, 7
jne 0x7c48f0
lea ecx, [eax - 0x64]
movzx ecx, cx
cmp ecx, 0xc8
jae 0x7c4940
jmp 0x7c4951
lea ecx, [eax - 0x64]
cmp cx, 0x64
jae 0x7c4940
jmp 0x7c4951
mov edx, dword [esp + 0x78]
lea esi, [eax - 0xc8]
cmp si, 0x63
movzx edx, byte [edx]
ja 0x7c4d5d
cmp dl, 7
jne 0x7c4d5d
xor esi, esi
mov dword [esp + 0x18], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
movzx ecx, cx
cmp ecx, 0xc8
jb 0x7c4951
movzx eax, ax
cmp eax, 0xcc
je 0x7c4951
cmp eax, 0x130
jne 0x7c4978
mov eax, dword [0x94bccc]
mov dword [esp + 0x18], 1
test eax, eax
je 0x7c4b4c
mov dword [esp + 8], 0
mov dword [esp + 4], 0
xor esi, esi
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
test byte [esp + 0x130], 1
jne 0x7c4a92
cmp eax, 0x24
jbe 0x7c4e16
mov edx, edi
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0x20
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x168]
push eax
call fcn.004b3250
add esp, 4
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
cmp eax, 1
jbe 0x7c4e27
mov eax, dword [edi + 4]
mov dword [esp + 0x70], esi
mov word [eax + edx], 0x203a
add edx, 2
mov eax, dword [esp + 0x20]
mov dword [edi + 8], edx
test eax, eax
je 0x7c4a0a
push dword [esp + 0x28]
push dword [esp + 0x28]
lea ecx, [esp + 0x34]
push ecx
call dword [eax + 0xc]
add esp, 0xc
call fcn.004a4ec0
test eax, eax
je 0x7c542f
mov esi, eax
mov eax, dword [eax]
cmp eax, 0x7ffffffe
ja 0x7c544d
inc eax
mov dword [esi], eax
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
cmp eax, 0x1c
jbe 0x7c4e4f
mov eax, dword [edi + 4]
movsd xmm0, qword [esi + 0x25]
movsd qword [eax + edx + 0x15], xmm0
movsd xmm0, qword [esi + 0x20]
movsd qword [eax + edx + 0x10], xmm0
movsd xmm0, qword [esi + 0x10]
movsd xmm1, qword [esi + 0x18]
movsd qword [eax + edx + 8], xmm1
movsd qword [eax + edx], xmm0
add edx, 0x1d
mov dword [edi + 8], edx
dec dword [esi]
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
cmp eax, 3
jbe 0x7c4e63
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x70]
mov dword [eax + edx], 0xa0d0a0d
add edx, 4
jmp 0x7c4aa7
cmp eax, 1
jbe 0x7c4e3b
mov eax, dword [edi + 4]
mov word [eax + edx], 0xa0d
add edx, 2
mov dword [edi + 8], edx
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x199]
mov edx, dword [esp + 0x18]
and bl, 1
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x11], edi
mov dword [ecx + 4], esi
mov dword [ecx], edx
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
mov dword [ecx + 0xc], esi
mov dword [ecx + 8], edx
mov byte [ecx + 0x10], bl
cmp dword [esp + 0xfc], 0
je 0x7c4b13
mov eax, dword [esp + 0x100]
test eax, eax
je 0x7c4b13
push dword [esp + 0x108]
push dword [esp + 0x108]
lea ecx, [esp + 0x114]
push ecx
call dword [eax + 0xc]
add esp, 0xc
cmp dword [esp + 0x178], 3
je 0x7c4b44
mov eax, dword [esp + 0x168]
test eax, eax
je 0x7c4b44
lea ecx, [esp + 0x174]
push dword [esp + 0x170]
push dword [esp + 0x170]
push ecx
call dword [eax + 0xc]
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, byte [0x94a810]
test al, al
je 0x7c4966
movzx eax, al
cmp eax, 1
je 0x7c4b82
cmp eax, 2
je 0x7c4bc6
mov ecx, 0x94a808
call fcn.007d3740
test al, al
je 0x7c4966
movzx eax, al
cmp eax, 2
je 0x7c4bc6
mov eax, dword [0x94a808]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x7c4966
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x7c4bb6
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 0x7c4966
mov eax, dword [0x94a808]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x7c5457
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov esi, dword [esp + 0x148]
mov dword [esp + 0xd4], 0x837b00
mov dword [esp + 0xd8], 2
mov dword [esp + 0xe4], 0
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], 0x4b3030
lea esi, [esp + 0x94]
mov dword [esp + 0xac], ecx
movlps qword [esp + 0xb0], xmm0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xdc], esi
lea esi, [esp + 0xd4]
mov dword [esp + 0xe0], 2
mov dword [esp + 0x9c], edx
lea edx, [esp + 0xa8]
mov dword [esp + 0xa0], 0x4a1c70
mov dword [esp + 0x110], edx
lea edx, [esp + 0x110]
mov dword [esp + 0x114], esi
lea esi, [eax + 0x1c]
mov dword [esp + 0x118], 0x836938
mov dword [esp + 0x58], edx
lea edx, [esp + 0x58]
mov dword [esp + 0x5c], 1
mov dword [esp + 0x60], esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x7c4d0b
cmp dword [0x94bcc0], 0
mov ebx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x94bcc8]
je 0x7c4cef
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea ebx, [eax + ebx + 8]
lea eax, [esp + 0x20]
push eax
push ebx
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x7c4d0b
lea eax, [esp + 0x20]
push eax
push ebx
call dword [esi + 0x2c]
add esp, 8
mov ebx, dword [esp + 0x1c]
xor esi, esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
jmp 0x7c4978
mov eax, dword [esp + 0x78]
movzx ecx, byte [eax]
cmp ecx, 5
je 0x7c4951
mov eax, dword [esp + 0x74]
cmp ecx, 7
movzx eax, word [eax]
jne 0x7c4e77
lea ecx, [eax - 0x64]
movzx ecx, cx
cmp ecx, 0xc8
jb 0x7c4951
jmp 0x7c4e98
movzx eax, ax
mov dword [esp + 8], 0
mov dword [esp + 0x18], 1
cmp eax, 0xcc
je 0x7c48bb
cmp eax, 0x130
je 0x7c48bb
cmp dl, 5
je 0x7c4f7c
mov edx, edi
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0x18
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x168]
push eax
call fcn.004b3250
add esp, 4
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
cmp eax, 4
jbe 0x7c537e
mov eax, dword [edi + 4]
mov byte [eax + edx + 4], 0xa
mov dword [eax + edx], 0xd30203a
add edx, 5
mov eax, dword [esp + 0x20]
mov dword [edi + 8], edx
test eax, eax
je 0x7c4f7c
push dword [esp + 0x28]
push dword [esp + 0x28]
lea ecx, [esp + 0x34]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov dword [esp + 8], 0
jmp 0x7c48bb
mov ecx, edi
push 0x25
call fcn.007c54d0
add esp, 4
jmp 0x7c4996
mov ecx, edi
push 2
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 8]
jmp 0x7c49dc
mov ecx, edi
push 2
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 8]
jmp 0x7c4a9b
mov ecx, edi
push 0x1d
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 8]
jmp 0x7c4a39
mov ecx, edi
push 4
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 8]
jmp 0x7c4a7f
lea edx, [eax - 0x64]
cmp dx, 0x64
jae 0x7c4e98
xor esi, esi
mov dword [esp + 0x18], 2
cmp cl, 5
jne 0x7c48d8
jmp 0x7c4951
movzx eax, ax
cmp eax, 0xcc
je 0x7c4638
cmp eax, 0x130
je 0x7c48c5
mov edx, edi
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0x45
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x168]
push eax
call fcn.004b3250
add esp, 4
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
cmp eax, 0xa
jbe 0x7c5392
mov eax, dword [edi + 4]
mov dword [eax + edx + 7], 0xa0d6465
mov dword [eax + edx + 4], 0x656b6e75
mov dword [eax + edx], 0x6863203a
add edx, 0xb
mov eax, dword [esp + 0x20]
mov dword [edi + 8], edx
test eax, eax
je 0x7c4f32
push dword [esp + 0x28]
push dword [esp + 0x28]
lea ecx, [esp + 0x34]
push ecx
call dword [eax + 0xc]
add esp, 0xc
mov dword [esp + 0x18], 0
jmp 0x7c48c3
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xd0]
push 0x83668c
call fcn.007c1be0
mov ecx, edi
push 2
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 8]
jmp 0x7c4337
mov ecx, edi
push 0xb
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 8]
jmp 0x7c45d6
mov dword [esp + 8], 0
jmp 0x7c48bb
mov eax, dword [0x94bccc]
mov esi, dword [esp + 0xc]
cmp eax, 3
ja 0x7c4512
movzx eax, byte [0x94a81c]
test al, al
je 0x7c4512
movzx ecx, al
cmp ecx, 1
je 0x7c4fbd
cmp ecx, 2
jne 0x7c53ed
mov al, 2
mov ecx, dword [0x94a814]
movzx edx, al
call fcn.007580e0
test al, al
je 0x7c4512
mov ecx, dword [0x94a814]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x7c54a7
mov edx, dword [ecx + 0x1c]
movsd xmm0, qword [ecx + 0x24]
lea ebx, [esp + 0xa8]
mov dword [esp + 0x20], 0x837c90
mov dword [esp + 0x24], 1
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0x93d1f8
mov dword [esp + 0x2c], 0
mov dword [esp + 0x7c], ebx
lea ebx, [esp + 0x7c]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], 1
mov dword [esp + 0xa8], edx
lea edx, [esp + 0x20]
mov dword [esp + 0xac], eax
movlps qword [esp + 0xb0], xmm0
mov dword [esp + 0xb8], 0
mov dword [esp + 0x80], edx
lea edx, [ecx + 0x1c]
mov dword [esp + 0x84], 0x836938
mov dword [esp + 0x9c], edx
lea edx, [esp + 0x94]
call fcn.007587f0
jmp 0x7c4512
mov edx, edi
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0x18
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x168]
push eax
call fcn.004b3250
add esp, 4
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
cmp eax, 1
jbe 0x7c53a6
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
mov word [eax + edx], 0x203a
add edx, 2
mov eax, dword [esp + 0x20]
mov dword [edi + 8], edx
test eax, eax
je 0x7c5105
push dword [esp + 0x28]
push dword [esp + 0x28]
lea ecx, [esp + 0x34]
push ecx
call dword [eax + 0xc]
add esp, 0xc
cmp esi, 0x2710
mov eax, ebx
mov ecx, 0x14
sbb eax, 0
jb 0x7c5190
mov eax, esi
mov dword [esp + 0x14], ecx
mov esi, eax
push 0
push 0x2710
push ebx
push eax
call fcn.007bcb10
imul edi, eax, 0x2710
mov ecx, esi
mov dword [esp + 0xc], edx
mov edx, esi
sub ecx, edi
movzx edi, cx
shr edi, 2
imul edi, edi, 0x147b
shr edi, 0x11
imul esi, edi, 0x64
sub ecx, esi
mov esi, 0x5f5e0ff
movzx ecx, cx
cmp esi, edx
mov esi, 0
sbb esi, ebx
movzx esi, word [edi + edi + 0x8ac574]
mov edi, dword [esp + 0x14]
movzx ecx, word [ecx + ecx + 0x8ac574]
mov ebx, dword [esp + 0xc]
mov word [esp + edi + 0x1c], si
mov word [esp + edi + 0x1e], cx
lea ecx, [edi - 4]
jb 0x7c5119
mov edi, dword [ebp + 8]
mov edx, eax
jmp 0x7c5194
mov eax, esi
mov edx, esi
cmp edx, 0x63
jbe 0x7c51c0
movzx edx, ax
shr edx, 2
imul edx, edx, 0x147b
shr edx, 0x11
imul esi, edx, 0x64
sub eax, esi
movzx eax, ax
movzx eax, word [eax + eax + 0x8ac574]
mov word [esp + ecx + 0x1e], ax
add ecx, 0xfffffffe
cmp edx, 0xa
jae 0x7c51cf
add dl, 0x30
mov byte [esp + ecx + 0x1f], dl
dec ecx
jmp 0x7c51df
movzx eax, word [edx + edx + 0x8ac574]
mov word [esp + ecx + 0x1e], ax
add ecx, 0xfffffffe
mov eax, dword [edi]
mov ebx, dword [edi + 8]
mov esi, 0x14
sub esi, ecx
lea ecx, [esp + ecx + 0x20]
sub eax, ebx
cmp eax, esi
jb 0x7c53ba
mov eax, dword [edi + 4]
add eax, ebx
push esi
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
add ebx, esi
mov dword [edi + 8], ebx
mov eax, dword [edi]
sub eax, ebx
cmp eax, 1
jbe 0x7c53d7
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
xor esi, esi
mov word [eax + ebx], 0xa0d
add ebx, 2
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [edi + 8], ebx
mov ebx, dword [esp + 0x1c]
jmp 0x7c48c5
mov eax, dword [0x94bccc]
mov esi, dword [esp + 0xc]
cmp eax, 3
ja 0x7c4512
movzx eax, byte [0x94a840]
test al, al
je 0x7c4512
movzx ecx, al
cmp ecx, 1
je 0x7c527f
cmp ecx, 2
jne 0x7c5418
mov al, 2
mov ecx, dword [0x94a838]
movzx edx, al
call fcn.007580e0
test al, al
je 0x7c4512
mov ecx, dword [0x94a838]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x7c54bb
mov edx, dword [ecx + 0x1c]
movsd xmm0, qword [ecx + 0x24]
lea ebx, [esp + 0x138]
mov dword [esp + 0x20], 0x837c00
mov dword [esp + 0x24], 3
mov dword [esp + 0x30], 0
mov dword [esp + 0xa8], edx
lea edx, [esp + 0xf0]
mov dword [esp + 0xac], eax
movlps qword [esp + 0xb0], xmm0
mov dword [esp + 0xb8], 0
mov dword [esp + 0x94], edx
lea edx, [esp + 0x94]
mov dword [esp + 0x98], fcn.0046c9c0
mov dword [esp + 0x9c], ebx
lea ebx, [esp + 0xa8]
mov dword [esp + 0xa0], fcn.0046c9c0
mov dword [esp + 0x28], edx
lea edx, [esp + 0x20]
mov dword [esp + 0xc0], ebx
lea ebx, [esp + 0xc0]
mov dword [esp + 0x2c], 2
mov dword [esp + 0xc4], edx
lea edx, [ecx + 0x1c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], 1
mov dword [esp + 0xc8], 0x836938
mov dword [esp + 0x84], edx
lea edx, [esp + 0x7c]
call fcn.007587f0
jmp 0x7c4512
mov ecx, edi
push 5
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 8]
jmp 0x7c4dd5
mov ecx, edi
push 0xb
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 8]
jmp 0x7c4ef7
mov ecx, edi
push 2
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 8]
jmp 0x7c50cd
mov dword [esp + 0x14], ecx
mov ecx, edi
mov edx, ebx
push esi
call fcn.007c54d0
mov ecx, dword [esp + 0x18]
add esp, 4
mov ebx, dword [edi + 8]
jmp 0x7c51f9
mov ecx, edi
mov edx, ebx
push 2
call fcn.007c54d0
add esp, 4
mov ebx, dword [edi + 8]
jmp 0x7c521b
mov ecx, 0x94a814
call fcn.007d3740
test al, al
jne 0x7c4fbd
jmp 0x7c4512
mov ecx, str.current_header_name
mov edx, 0x13
push 0x837b24
call fcn.007c2000
mov ecx, 0x94a838
call fcn.007d3740
test al, al
jne 0x7c527f
jmp 0x7c4512
mov ecx, 0x93c0b4
mov edx, 0x46
push 0x93c14c
push 0x835f68
lea eax, [esp + 0x28]
push eax
call fcn.007c1f60
mov ecx, 0x836708
call fcn.007c1f10
mov ecx, 0x8a6758
mov edx, 0x22
push 0x837ac4
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x837b34
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x837c18
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x837b78
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x837c50
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x837bc8
call fcn.007c2000
int3