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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xdb0
mov ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x18], ecx
nop dword [eax]
lea ecx, [esp + 0x1a0]
mov edx, ebx
push dword [esp + 0x80]
call fcn.004b3f70
add esp, 4
mov eax, dword [esp + 0x1a0]
mov ecx, 4
cmp eax, 4
je 0x629f40
mov ecx, 3
cmp eax, 3
je 0x629f40
mov edi, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
cmp eax, 2
jne 0x62aaa9
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0xc
call fcn.0071ee80
test eax, eax
je 0x62ad05
mov dword [eax], 0
mov byte [eax + 8], 9
mov edx, 8
mov esi, eax
movzx ecx, byte [0x94bfc5]
xor ecx, ecx
call fcn.0071ee80
test eax, eax
je 0x62ad14
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x18]
mov dword [eax], edi
mov dword [esi], eax
mov dword [esp + 0x1c], esi
mov dword [esi + 4], 0x8a90e0
mov ecx, 2
nop dword [eax + eax]
lea edx, [esp + 0x110]
cmp ecx, 2
je 0x62ac7b
cmp ecx, 4
je 0x62ac6e
cmp ecx, 3
je 0x62ac75
mov dword [esp + 0x10], ecx
mov ecx, 0x12
mov edi, edx
lea esi, [esp + 0xc8]
mov eax, dword [ebp + 8]
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [esp + 0xb8]
movsd xmm0, qword [esp + 0xc0]
movsd xmm2, qword [esp + 0xa8]
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0xb0]
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x60], xmm2
movsd qword [esp + 0x68], xmm1
lock inc dword [eax]
jle 0x62ac89
lock inc dword [eax + 0xb4]
mov ecx, 0x12
lea edi, [esp + 0x158]
mov esi, edx
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [esp + 0x70]
mov eax, dword [ebx + 0x98]
movsd xmm0, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x60]
movsd qword [esp + 0x98], xmm1
movsd xmm1, qword [esp + 0x68]
test eax, eax
movsd qword [esp + 0xa0], xmm0
movsd qword [esp + 0x88], xmm2
movsd qword [esp + 0x90], xmm1
je 0x62a1d0
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 0x9c]
xor ecx, ecx
mov edx, 0x440
mov dword [esp + 0x14], eax
mov eax, dword [eax + 8]
mov dword [esp + 0x84], eax
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x62ac8b
mov ebx, eax
mov dword [eax + 4], 0
mov dword [eax], 8
mov eax, dword [esp + 0x10]
mov ecx, 0x12
lea esi, [esp + 0x110]
lea edi, [ebx + 0x54]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x4c]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x28], eax
movzx eax, byte [esp + 7]
mov byte [ebx + 0x2c], al
movzx eax, byte [esp + 8]
mov byte [ebx + 0x2d], al
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x38], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x3c], eax
movzx eax, byte [esp + 0xc]
mov byte [ebx + 0x40], al
movzx eax, byte [esp + 0xd]
mov byte [ebx + 0x41], al
movzx eax, byte [esp + 0xe]
mov byte [ebx + 0x42], al
movzx eax, byte [esp + 0xf]
mov byte [ebx + 0x43], al
movzx eax, byte [esp + 9]
mov byte [ebx + 0x44], al
movzx eax, byte [esp + 0xb]
mov byte [ebx + 0x45], al
movzx eax, byte [esp + 0xa]
mov byte [ebx + 0x46], al
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x4c], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x50], eax
rep movsd dword es:[edi], dword [esi]
movsd xmm0, qword [esp + 0x78]
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x5c]
movsd qword [ebx + 0xb4], xmm0
dec ecx
movsd xmm0, qword [esp + 0x70]
and ecx, 0xfffffff8
lea esi, [ecx + eax + 8]
mov eax, dword [esp + 0x58]
movsd qword [ebx + 0xac], xmm0
movsd xmm0, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x68]
movsd qword [ebx + 0xa4], xmm1
movsd qword [ebx + 0x9c], xmm0
mov dword [ebx + 0xbc], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0xc0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0xc4], eax
mov eax, ebx
add eax, 0xc8
push 0x378
lea ecx, [esp + 0xa34]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
push 0x8ae100
push ebx
push esi
mov eax, dword [esp + 0x20]
call dword [eax + 0xc]
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x629e90
mov edx, dword [0x94b9fc]
mov eax, dword [0x94b9f8]
nop dword [eax + eax]
mov ebx, eax
mov ecx, edx
add ebx, 1
adc ecx, 0
lock cmpxchg8b qword [0x94b9f8]
jne 0x62a1e0
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x5ec], 0
mov dword [esp + 0x5e8], 8
mov dword [esp + 0xcc], edx
mov ecx, 0x12
lea edi, [esp + 0x63c]
lea esi, [esp + 0x110]
mov dword [esp + 0x5f0], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5f4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5f8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x5fc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x600], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x604], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x60c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x610], eax
movzx eax, byte [esp + 7]
mov byte [esp + 0x614], al
movzx eax, byte [esp + 8]
mov byte [esp + 0x615], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x618], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x61c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x620], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x624], eax
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x628], al
movzx eax, byte [esp + 0xd]
mov byte [esp + 0x629], al
movzx eax, byte [esp + 0xe]
mov byte [esp + 0x62a], al
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x62b], al
movzx eax, byte [esp + 9]
mov byte [esp + 0x62c], al
movzx eax, byte [esp + 0xb]
mov byte [esp + 0x62d], al
movzx eax, byte [esp + 0xa]
mov byte [esp + 0x62e], al
mov eax, dword [esp + 0x20]
mov dword [esp + 0x630], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x634], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x638], eax
lea eax, [esp + 0x5f0]
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x60]
movsd qword [eax + 0xa4], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [eax + 0xac], xmm0
movsd qword [eax + 0x94], xmm2
movsd qword [eax + 0x9c], xmm1
mov eax, dword [esp + 0x58]
mov dword [esp + 0x6a4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x6a8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x6ac], eax
push 0x378
lea eax, [esp + 0xa34]
push eax
lea eax, [esp + 0x6b8]
push eax
call fcn.007bd9b0
add esp, 0xc
lea eax, [esp + 0xc8]
mov dword [esp + 0xa28], eax
call fcn.0061f960
test eax, eax
je 0x62ac9a
mov ecx, dword [eax]
cmp ecx, 0x7ffffffe
ja 0x62acc0
inc ecx
mov dword [esp + 0x14], eax
lea edi, [esp + 0x1f4]
lea esi, [esp + 0x110]
mov dword [eax], ecx
mov ecx, 0x12
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a0], 8
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c8], eax
movzx eax, byte [esp + 7]
mov byte [esp + 0x1cc], al
movzx eax, byte [esp + 8]
mov byte [esp + 0x1cd], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1dc], eax
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x1e0], al
movzx eax, byte [esp + 0xd]
mov byte [esp + 0x1e1], al
movzx eax, byte [esp + 0xe]
mov byte [esp + 0x1e2], al
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x1e3], al
movzx eax, byte [esp + 9]
mov byte [esp + 0x1e4], al
movzx eax, byte [esp + 0xb]
mov byte [esp + 0x1e5], al
movzx eax, byte [esp + 0xa]
mov byte [esp + 0x1e6], al
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1f0], eax
lea eax, [esp + 0x1ac]
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x60]
movsd qword [eax + 0xa0], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [eax + 0xa8], xmm0
movsd qword [eax + 0x90], xmm2
movsd qword [eax + 0x98], xmm1
mov eax, dword [esp + 0x58]
mov dword [esp + 0x25c], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x260], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x264], eax
push 0x378
lea eax, [esp + 0xa34]
push eax
lea eax, [esp + 0x270]
push eax
call fcn.007bd9b0
add esp, 0xc
cmp ebx, 2
lea eax, [esp + 0xc8]
mov dword [esp + 0x5e0], eax
je 0x62acca
mov eax, dword [esp + 0xc8]
mov edi, dword [esp + 0xcc]
test ebx, ebx
mov dword [esp + 0x5c], eax
je 0x62a83c
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 8]
lock inc dword [esi]
jle 0x62ac89
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x4c0
call fcn.0071ee80
test eax, eax
je 0x62acf6
mov ebx, eax
mov edx, esi
mov ecx, 0x12
and ebx, 0xffffffc0
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0x40], 0xcc
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0x8ae7a0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x58], esi
mov dword [ebx + 0x64], edi
lea edi, [ebx + 0xbc]
lea esi, [esp + 0x158]
mov dword [ebx + 0x60], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x68], 8
mov dword [ebx + 0x70], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x74], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x78], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x7c], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x80], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x84], eax
mov eax, dword [esp + 0x4c]
mov dword [ebx + 0x88], eax
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x8c], eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x90], eax
movzx eax, byte [esp + 7]
mov byte [ebx + 0x94], al
movzx eax, byte [esp + 8]
mov byte [ebx + 0x95], al
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x98], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x9c], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 0xa0], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0xa4], eax
movzx eax, byte [esp + 0xc]
mov byte [ebx + 0xa8], al
movzx eax, byte [esp + 0xd]
mov byte [ebx + 0xa9], al
movzx eax, byte [esp + 0xe]
mov byte [ebx + 0xaa], al
movzx eax, byte [esp + 0xf]
mov byte [ebx + 0xab], al
movzx eax, byte [esp + 9]
mov byte [ebx + 0xac], al
movzx eax, byte [esp + 0xb]
mov byte [ebx + 0xad], al
movzx eax, byte [esp + 0xa]
mov byte [ebx + 0xae], al
mov eax, dword [esp + 0x20]
mov dword [ebx + 0xb0], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0xb4], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0xb8], eax
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x40]
mov dword [esp + 0x10], edx
lea edi, [edx + 0xb0]
movsd xmm0, qword [esp + 0xa0]
mov eax, dword [esp + 0x58]
movsd qword [ebx + 0x11c], xmm0
movsd xmm0, qword [esp + 0x98]
movsd qword [ebx + 0x114], xmm0
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x90]
movsd qword [ebx + 0x10c], xmm1
movsd qword [ebx + 0x104], xmm0
mov dword [ebx + 0x124], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x128], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x12c], eax
lea eax, [ebx + 0x130]
push 0x378
lea ecx, [esp + 0xa34]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov dword [ebx + 0x4a8], 0
mov dword [ebx + 0x4ac], 0
mov dword [ebx + 0x4b0], 0
mov ecx, edi
mov edx, esi
push esi
call fcn.00628ee0
add esp, 4
test eax, eax
je 0x62aaa0
mov ecx, dword [esp + 0x10]
mov edx, eax
add ecx, 8
push 0
call fcn.0072a9a0
add esp, 4
jmp 0x62aaa0
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 8]
lock inc dword [esi]
jle 0x62ac89
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x4c0
call fcn.0071ee80
test eax, eax
je 0x62acf6
mov ebx, eax
mov ecx, 0x12
and ebx, 0xffffffc0
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0x40], 0xcc
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0x8ae908
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x58], esi
mov dword [ebx + 0x64], edi
lea edi, [ebx + 0xbc]
mov dword [ebx + 0x60], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x68], 8
mov dword [ebx + 0x70], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x74], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x78], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x7c], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x80], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x84], eax
mov eax, dword [esp + 0x4c]
mov dword [ebx + 0x88], eax
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x8c], eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x90], eax
movzx eax, byte [esp + 7]
mov byte [ebx + 0x94], al
movzx eax, byte [esp + 8]
mov byte [ebx + 0x95], al
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x98], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x9c], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 0xa0], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0xa4], eax
movzx eax, byte [esp + 0xc]
mov byte [ebx + 0xa8], al
movzx eax, byte [esp + 0xd]
mov byte [ebx + 0xa9], al
movzx eax, byte [esp + 0xe]
mov byte [ebx + 0xaa], al
movzx eax, byte [esp + 0xf]
mov byte [ebx + 0xab], al
movzx eax, byte [esp + 9]
mov byte [ebx + 0xac], al
movzx eax, byte [esp + 0xb]
mov byte [ebx + 0xad], al
movzx eax, byte [esp + 0xa]
mov byte [ebx + 0xae], al
mov eax, dword [esp + 0x20]
mov dword [ebx + 0xb0], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0xb4], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0xb8], eax
mov eax, esi
lea esi, [esp + 0x158]
rep movsd dword es:[edi], dword [esi]
add eax, 8
lea esi, [ebx + 0x40]
movsd xmm0, qword [esp + 0xa0]
mov edi, eax
mov eax, dword [esp + 0x58]
movsd qword [ebx + 0x11c], xmm0
movsd xmm0, qword [esp + 0x98]
movsd qword [ebx + 0x114], xmm0
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x90]
movsd qword [ebx + 0x10c], xmm1
movsd qword [ebx + 0x104], xmm0
mov dword [ebx + 0x124], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x128], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x12c], eax
lea eax, [ebx + 0x130]
push 0x378
lea ecx, [esp + 0xa34]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov dword [ebx + 0x4a8], 0
mov dword [ebx + 0x4ac], 0
mov dword [ebx + 0x4b0], 0
mov ecx, edi
mov edx, esi
push esi
call fcn.00628ee0
add esp, 4
test eax, eax
je 0x62aaa0
mov edi, eax
call fcn.00724480
mov ebx, dword [esp + 0x18]
test eax, eax
je 0x62ac32
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x28]
mov ecx, dword [ecx + 8]
test eax, eax
je 0x62ac39
mov edx, edi
push eax
jmp 0x62ac3d
mov ebx, dword [esp + 0x18]
jmp 0x62ac45
mov dword [esp + 0x10], edi
mov ecx, 0x12
lea edi, [esp + 0x5e8]
lea esi, [esp + 0x1ac]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xa8]
mov dword [esp + 0x58], edx
lock inc dword [edx]
jle 0x62ac89
mov edx, dword [ecx + 0x98]
mov ecx, dword [ecx + 0x9c]
mov dword [esp + 0x30], ebx
test edx, edx
mov dword [esp + 0x50], ecx
je 0x62aafa
lock inc dword [edx]
jle 0x62ac89
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x18]
lea edi, [esp + 0xc8]
lea esi, [esp + 0x1ac]
movzx ecx, byte [edx + 0xa0]
mov ebx, dword [edx + 0x68]
mov byte [esp + 0xc], cl
movzx ecx, byte [edx + 0xa1]
mov byte [esp + 0xd], cl
movzx ecx, byte [edx + 0xa2]
mov byte [esp + 0xe], cl
movzx ecx, byte [edx + 0xa3]
mov byte [esp + 0xf], cl
lea ecx, [esp + 0x5f0]
movsd xmm1, qword [ecx + 0x10]
movsd xmm0, qword [ecx + 0x18]
movsd xmm2, qword [ecx]
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [ecx + 8]
movzx ecx, byte [edx + 0xa5]
movsd qword [esp + 0xc0], xmm0
movsd qword [esp + 0xa8], xmm2
mov byte [esp + 0xb], cl
movzx ecx, byte [edx + 0x8c]
movsd qword [esp + 0xb0], xmm1
mov byte [esp + 7], cl
movzx ecx, byte [edx + 0x8d]
mov byte [esp + 8], cl
movzx ecx, byte [edx + 0xa6]
mov byte [esp + 0xa], cl
movzx ecx, byte [edx + 0xa4]
mov byte [esp + 9], cl
mov ecx, dword [edx + 0x78]
mov dword [esp + 0x44], ecx
mov ecx, dword [edx + 0x7c]
mov dword [esp + 0x48], ecx
mov ecx, dword [edx + 0x80]
mov dword [esp + 0x4c], ecx
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [edx + 0x70]
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0x74]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0x84]
mov dword [esp + 0x34], ecx
mov ecx, dword [edx + 0x88]
mov dword [esp + 0x38], ecx
mov ecx, dword [edx + 0x90]
mov dword [esp + 0x3c], ecx
mov ecx, dword [edx + 0x94]
mov dword [esp + 0x40], ecx
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebx, edx
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x10]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x110]
cmp ecx, 2
jne 0x629f50
jmp 0x62ac7b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
mov edx, edi
push 0
call fcn.00729210
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, 0x84
dec dword [eax]
mov eax, 0xcc
lock cmpxchg dword [esi], ecx
je 0x629e90
mov eax, dword [esi + 8]
push esi
call dword [eax + 0x10]
add esp, 4
jmp 0x629e90
mov eax, 1
jmp 0x62ac81
xor eax, eax
xor edx, edx
jmp 0x62ac81
mov edx, dword [esp + 0x1c]
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
ud2
mov ecx, 8
mov edx, 0x440
call fcn.007c1490
lea ecx, [esp + 0x5e8]
call fcn.006a6bf0
mov al, 1
lea ecx, [esp + 0x1a0]
mov edx, 0x8ae0e0
mov byte [esp + 0x1a0], al
call fcn.007d0240
mov ecx, 0x936a34
call fcn.007c1f10
lea ecx, [esp + 0x1a0]
call fcn.006a6bf0
mov eax, dword [esp + 0x14]
dec dword [eax]
xor eax, eax
lea ecx, [esp + 0x1a0]
mov edx, 0x8ae0e0
mov byte [esp + 0x1a0], al
call fcn.007d0240
mov ecx, 0x40
mov edx, 0x480
call fcn.007c1490
mov ecx, 4
mov edx, 0xc
call fcn.007c1490
mov ecx, 4
mov edx, 8
call fcn.007c1490
int3