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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x590
mov esi, esp
mov dword [esi + 0x578], ebp
call 0x49010c
pop eax
mov dword [esi + 0x57c], esp
mov dword [esi + 0x588], 0xffffffff
mov dword [esi + 0x584], 0x538950
mov dword [esi + 0x1ec], ecx
xor ecx, ecx
mov dword [esi + 0x1e8], edx
mov dword [esi + 0xc4], 0
mov dword [esi + 0x148], 4
mov dword [esi + 0x180], 0
mov dword [esi + 0x74], eax
mov eax, dword fs:[0]
mov dword [esi + 0x580], eax
lea eax, [esi + 0x580]
mov dword fs:[0], eax
mov dword [esi + 0x1a8], 0
mov dword [esi + 0x1ac], 4
mov dword [esi + 0x190], 0
mov dword [esi + 0x194], 4
mov dword [esi + 0x1b0], 0
mov dword [esi + 0x198], 0
movzx eax, byte [edx + 0x51]
mov byte [esi + 0x188], al
movzx eax, byte [edx + 0x52]
mov byte [esi + 0x184], al
movzx eax, byte [edx + 0x50]
mov byte [esi + 0x144], al
mov eax, dword [edx + 0x4c]
mov dword [esi + 0x1b4], eax
mov al, 1
jmp 0x49020b
mov dword [eax + edx*8], ecx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x148], eax
mov dword [esi + 0x180], 1
mov dword [eax + edx*8 + 4], ecx
inc edx
mov cl, 1
xor eax, eax
mov dword [esi + 0xc4], edx
mov dword [esi + 0x1b0], edx
test cl, 1
jne 0x4919f7
test al, 1
je 0x494658
movaps xmm0, xmmword [0x5476f0]
mov eax, dword [esi + 0x1b4]
movzx ecx, byte [esi + 0x188]
mov ch, byte [esi + 0x184]
lea edx, [esi + 0x1f0]
mov edi, dword [ebp + 8]
mov dword [esi + 0x14c], edx
mov edx, dword [ebp + 0xc]
movups xmmword [esi + 0x240], xmm0
mov dword [esi + 0x250], eax
mov byte [esi + 0x255], cl
mov cl, byte [esi + 0x144]
movdqa xmm0, xmmword [0x547700]
mov dword [esi + 0x150], edi
mov dword [esi + 0x154], edx
mov byte [esi + 0x256], cl
mov byte [esi + 0x257], ch
mov byte [esi + 0x254], cl
mov dword [esi + 0x1f0], 0
mov dword [esi + 0x1f4], 0
mov dword [esi + 0x1f8], 4
mov dword [esi + 0x1fc], 0
mov dword [esi + 0x200], 0
mov dword [esi + 0x204], 0
mov dword [esi + 0x208], 4
mov dword [esi + 0x20c], 0
mov dword [esi + 0x210], 0
mov dword [esi + 0x214], 0
mov dword [esi + 0x218], 4
mov dword [esi + 0x21c], 0
mov dword [esi + 0x220], 0
mov dword [esi + 0x224], 0
mov dword [esi + 0x228], 4
mov dword [esi + 0x22c], 0
mov dword [esi + 0x230], 0
mov dword [esi + 0x234], 0
mov dword [esi + 0x238], 1
movdqu xmmword [esi + 0x23c], xmm0
mov byte [esi + 0x254], cl
mov dword [esi + 0x1fc], 0
mov dword [esi + 0x1f0], 0
mov dword [esi + 0x20c], 0
mov dword [esi + 0x200], 0
cmp dword [esi + 0x210], 0
jne 0x494671
mov dword [esi + 0x210], 0xffffffff
mov dword [esi + 0x50], 0
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
mov dword [esi + 0x21c], 0
mov dword [esi + 0x1c], eax
mov dword [esi + 0x60], ecx
jmp 0x4903de
add edi, 4
mov dword [esi + 0x588], 0x11
mov ecx, edi
mov dword [esi + 0x588], 0x11
call fcn.004d8560
mov edx, dword [esi + 0x50]
cmp edx, dword [esi + 0x60]
je 0x490480
mov ecx, dword [esi + 0x1c]
imul eax, edx, 0x98
inc edx
mov dword [esi + 0x50], edx
cmp dword [ecx + eax], 0x110009
lea edi, [ecx + eax]
je 0x4903c0
mov ecx, dword [edi + 0x78]
mov eax, dword [edi + 0x7c]
mov dword [esi + 0x24], edi
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], eax
mov dword [esi + 0x28], ecx
nop dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x14], eax
je 0x490450
inc eax
lea edx, [ecx + 0x58]
mov dword [esi + 0x588], 0x13
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], edx
call fcn.004dab10
mov ecx, dword [esi + 0x10]
jmp 0x490420
mov edi, dword [esi + 0x24]
cmp dword [edi + 0x74], 0
je 0x4903cd
push dword [esi + 0x28]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4903c3
inc dword [esi + 0x210]
lea edx, [esi + 0x240]
lea ecx, [esi + 0xd4]
mov dword [esi + 0x588], 7
mov dword [esi + 0x50], 0
mov dword [esi + 0xc], 4
mov eax, dword [edx + 8]
movsd xmm0, qword [edx]
mov edi, dword [edx + 8]
movsd qword [ecx], xmm0
mov dword [ecx + 8], eax
mov dword [esi + 0xd0], edi
lea ecx, [esi + 0xac]
movq xmm0, qword [edx]
mov edx, dword [esi + 0x150]
movsd xmm1, qword [esi + 0xd8]
movq qword [ecx], xmm0
movq qword [esi + 0xc8], xmm0
mov dword [esi + 0x10], edx
movsd qword [ecx + 0x10], xmm1
movq xmm1, qword [esi + 0xd0]
movq qword [ecx + 8], xmm1
mov ecx, dword [esi + 0x154]
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 4
mov dword [esi + 0xa8], 0
mov dword [esi + 0x14], ecx
lea ecx, [esi + 0x14c]
mov byte [esi + 0xb], 1
call fcn.004d2a50
jmp 0x49058c
mov eax, dword [esi + 0x240]
mov edx, dword [esi + 0x14]
cmp edx, eax
je 0x4914a0
mov ecx, dword [esi + 0x10]
test eax, eax
mov edi, edx
mov dword [esi + 0x38], eax
je 0x4905bd
mov edi, edx
sub edi, eax
jbe 0x4945cb
cmp byte [ecx + eax], 0xc0
jl 0x4945cb
test edi, edi
je 0x4945e3
movzx ebx, byte [ecx + eax]
movzx edi, bl
test bl, bl
jns 0x490620
movzx edx, byte [ecx + eax + 1]
and edi, 0x1f
and edx, 0x3f
cmp bl, 0xdf
jbe 0x4906a2
movzx ecx, byte [ecx + eax + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x490c75
mov ebx, dword [esi + 0x10]
and edi, 7
shl ecx, 6
shl edi, 0x12
movzx edx, byte [ebx + eax + 3]
and edx, 0x3f
or edx, ecx
mov ecx, ebx
or edi, edx
cmp edi, 0x110000
je 0x4945e3
lea edx, [edi - 0x28]
cmp edx, 0x33
ja 0x4906c0
mov edx, dword [edx*4 + 0x495e78]
add edx, dword [esi + 0x74]
jmp edx
shl edi, 6
or edi, edx
lea edx, [edi - 0x28]
cmp edx, 0x33
jbe 0x49062c
nop word cs:[eax + eax]
nop dword [eax]
cmp edi, 0x7b
je 0x490c8e
cmp edi, 0x7c
jne 0x490738
movsd xmm1, qword [esi + 0xb0]
mov eax, dword [esi + 0xc0]
movq xmm0, qword [esi + 0xb8]
movq xmm2, qword [esi + 0xa0]
mov byte [esi + 0xb], 0
lea ecx, [esi + 0xc8]
lea edx, [esi + 0x14c]
movsd qword [esi + 0x88], xmm1
movq xmm1, qword [esi + 0xa8]
mov dword [esi + 0x98], eax
lea eax, [esi + 0x78]
movq qword [esi + 0x90], xmm0
movq qword [esi + 0x78], xmm2
movq qword [esi + 0x80], xmm1
push eax
call fcn.004d5e40
add esp, 4
jmp 0x490d00
mov edx, dword [esi + 0x14]
mov byte [esi + 0xb], 1
push eax
call fcn.004d36c0
add esp, 4
cmp eax, 0x5b
jg 0x490d9f
mov ecx, dword [esi + 0x10]
cmp eax, 0x24
je 0x491090
mov edx, dword [esi + 0x14]
cmp eax, 0x2e
jne 0x490f31
mov eax, dword [esi + 0x240]
mov byte [esi + 0xb], 1
mov dword [esi + 0x60], eax
push eax
call fcn.004d36c0
add esp, 4
mov ecx, 1
cmp eax, 0x80
jb 0x4907a4
mov ecx, 2
cmp eax, 0x800
jb 0x4907a4
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
mov eax, dword [esi + 0x60]
add eax, ecx
mov ecx, dword [esi + 0x10]
jb 0x494b04
mov edx, dword [esi + 0x248]
mov dword [esi + 0x60], eax
inc edx
mov dword [esi + 0x1c], edx
mov edx, dword [esi + 0x14]
je 0x494acb
mov eax, dword [esi + 0x240]
mov edi, dword [esi + 0x244]
mov byte [esi + 0xb], 1
mov dword [esi + 0x24], edi
push eax
call fcn.004d36c0
add esp, 4
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x240]
mov ecx, dword [esi + 0x248]
mov byte [esi + 0xb], 1
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x244]
mov dword [esi + 0x3c], ecx
lea ecx, [esi + 0x14c]
mov dword [esi + 0x38], eax
call fcn.004d37a0
mov ebx, dword [esi + 0xc]
xor eax, eax
cmp dword [esi + 0x28], 0xa
mov edx, dword [esi + 0x1c]
mov ecx, 1
mov dword [esi + 0xd8], 0x80000004
mov dword [esi + 0xdc], ebx
cmove edx, ecx
mov ecx, dword [esi + 0x24]
sete al
add ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0xe8], eax
mov dword [esi + 0xec], ecx
mov dword [esi + 0xf0], edx
lea ecx, [esi + 0xd4]
mov edx, 0x80000004
mov eax, dword [ecx + 0x2c]
movsd xmm1, qword [ecx + 0x1c]
movq xmm0, qword [ecx + 0x24]
movq xmm2, qword [ecx + 0xc]
mov dword [esi + 0x98], eax
lea eax, [edx + 0x7ffffffe]
movsd qword [esi + 0x88], xmm1
movq xmm1, qword [ecx + 0x14]
mov ecx, 4
movq qword [esi + 0x90], xmm0
movq qword [esi + 0x78], xmm2
cmp eax, 4
cmovae eax, ecx
mov eax, dword [eax*4 + 0x495f48]
movq qword [esi + 0x80], xmm1
add eax, dword [esi + 0x74]
jmp eax
shl edi, 0xc
or edi, ecx
mov ecx, dword [esi + 0x10]
lea edx, [edi - 0x28]
cmp edx, 0x33
jbe 0x49062c
jmp 0x4906c0
movsd xmm1, qword [esi + 0xb0]
mov eax, dword [esi + 0xc0]
movq xmm0, qword [esi + 0xb8]
movq xmm2, qword [esi + 0xa0]
mov byte [esi + 0xb], 0
lea ecx, [esi + 0xc8]
lea edx, [esi + 0x14c]
movsd qword [esi + 0x88], xmm1
movq xmm1, qword [esi + 0xa8]
mov dword [esi + 0x98], eax
lea eax, [esi + 0x78]
movq qword [esi + 0x90], xmm0
movq qword [esi + 0x78], xmm2
movq qword [esi + 0x80], xmm1
push eax
call fcn.004d7570
add esp, 4
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov edi, dword [esi + 0xd4]
mov edx, dword [esi + 0xd8]
mov ebx, dword [esi + 0xdc]
mov dword [esi + 0x60], eax
cmp eax, 0x22
mov eax, dword [esi + 0xd0]
mov dword [esi + 0xc], eax
lea eax, [esi + 0xd4]
movsd xmm0, qword [eax + 0xc]
movsd xmm1, qword [eax + 0x14]
movsd qword [esi + 0x38], xmm0
movsd qword [esi + 0x40], xmm1
jne 0x49181e
mov eax, dword [esi + 0xc]
movq xmm0, qword [esi + 0x38]
movq xmm1, qword [esi + 0x40]
mov dword [esi + 0xa0], ecx
lea ecx, [esi + 0xac]
mov dword [esi + 0x50], edi
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa8], edi
mov dword [esi + 0xac], edx
mov dword [esi + 0xb0], ebx
movq qword [ecx + 0x10], xmm1
movq qword [ecx + 8], xmm0
lea ecx, [esi + 0x14c]
mov byte [esi + 0xb], 1
call fcn.004d2a50
jmp 0x49058c
mov ecx, dword [esi + 0x10]
cmp eax, 0x5c
je 0x4911f7
mov edx, dword [esi + 0x14]
cmp eax, 0x5e
jne 0x490f31
mov eax, dword [esi + 0x240]
mov byte [esi + 0xb], 1
mov dword [esi + 0x60], eax
push eax
call fcn.004d36c0
add esp, 4
mov ecx, 1
cmp eax, 0x80
jb 0x490df2
mov ecx, 2
cmp eax, 0x800
jb 0x490df2
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
mov eax, dword [esi + 0x60]
add eax, ecx
mov ecx, dword [esi + 0x10]
jb 0x494aa5
mov edx, dword [esi + 0x248]
mov dword [esi + 0x60], eax
inc edx
mov dword [esi + 0x1c], edx
mov edx, dword [esi + 0x14]
je 0x494ab8
mov eax, dword [esi + 0x240]
mov edi, dword [esi + 0x244]
mov byte [esi + 0xb], 1
mov dword [esi + 0x24], edi
push eax
call fcn.004d36c0
add esp, 4
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x240]
mov ecx, dword [esi + 0x248]
mov byte [esi + 0xb], 1
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x244]
mov dword [esi + 0x3c], ecx
lea ecx, [esi + 0x14c]
mov dword [esi + 0x38], eax
call fcn.004d37a0
mov ebx, dword [esi + 0xc]
xor eax, eax
cmp dword [esi + 0x28], 0xa
mov edx, dword [esi + 0x1c]
mov ecx, 1
mov dword [esi + 0xd8], 0x80000003
mov dword [esi + 0xdc], ebx
cmove edx, ecx
mov ecx, dword [esi + 0x24]
sete al
add ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0xe8], eax
mov dword [esi + 0xec], ecx
mov dword [esi + 0xf0], edx
mov byte [esi + 0xf4], 0
lea ecx, [esi + 0xd4]
mov edx, 0x80000003
mov eax, dword [ecx + 0x2c]
movsd xmm1, qword [ecx + 0x1c]
movq xmm0, qword [ecx + 0x24]
movq xmm2, qword [ecx + 0xc]
mov dword [esi + 0x98], eax
lea eax, [edx + 0x7ffffffe]
movsd qword [esi + 0x88], xmm1
movq xmm1, qword [ecx + 0x14]
mov ecx, 4
movq qword [esi + 0x90], xmm0
movq qword [esi + 0x78], xmm2
cmp eax, 4
cmovae eax, ecx
mov eax, dword [eax*4 + 0x495f48]
movq qword [esi + 0x80], xmm1
add eax, dword [esi + 0x74]
jmp eax
mov edi, dword [esi + 0x240]
mov byte [esi + 0xb], 1
mov dword [esi + 0x60], edi
push edi
mov dword [esi + 0xc], eax
call fcn.004d36c0
add esp, 4
mov ecx, 1
cmp eax, 0x80
jb 0x490f6f
mov ecx, 2
cmp eax, 0x800
jb 0x490f6f
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
mov eax, dword [esi + 0x60]
add eax, ecx
mov ecx, dword [esi + 0x10]
jb 0x494ade
mov edx, dword [esi + 0x248]
mov dword [esi + 0x60], eax
inc edx
mov dword [esi + 0x1c], edx
mov edx, dword [esi + 0x14]
je 0x494af1
mov eax, dword [esi + 0x240]
mov edi, dword [esi + 0x244]
mov byte [esi + 0xb], 1
mov dword [esi + 0x24], edi
push eax
call fcn.004d36c0
add esp, 4
mov dword [esi + 0x28], eax
lea ecx, [esi + 0x240]
mov byte [esi + 0xb], 1
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
lea ecx, [esi + 0x14c]
mov dword [esi + 0x40], eax
movq qword [esi + 0x38], xmm0
call fcn.004d37a0
mov ebx, dword [esi + 0xc]
xor eax, eax
cmp dword [esi + 0x28], 0xa
mov edx, dword [esi + 0x1c]
mov edi, dword [esi + 0x24]
mov ecx, 1
mov dword [esi + 0xd8], 0x80000002
mov dword [esi + 0xdc], ebx
movsd xmm0, qword [esi + 0x38]
sete al
cmove edx, ecx
lea ecx, [esi + 0xd4]
add edi, eax
mov eax, dword [esi + 0x40]
movsd qword [ecx + 0xc], xmm0
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0xec], eax
mov dword [esi + 0xf0], edi
mov dword [esi + 0xf4], edx
mov byte [esi + 0xf8], 0
mov edx, 0x80000002
mov eax, dword [ecx + 0x2c]
movsd xmm1, qword [ecx + 0x1c]
movq xmm0, qword [ecx + 0x24]
movq xmm2, qword [ecx + 0xc]
mov dword [esi + 0x98], eax
lea eax, [edx + 0x7ffffffe]
movsd qword [esi + 0x88], xmm1
movq xmm1, qword [ecx + 0x14]
mov ecx, 4
movq qword [esi + 0x90], xmm0
movq qword [esi + 0x78], xmm2
cmp eax, 4
cmovae eax, ecx
mov eax, dword [eax*4 + 0x495f48]
movq qword [esi + 0x80], xmm1
add eax, dword [esi + 0x74]
jmp eax
mov eax, dword [esi + 0x240]
mov edx, dword [esi + 0x14]
mov byte [esi + 0xb], 1
mov dword [esi + 0x60], eax
push eax
call fcn.004d36c0
add esp, 4
mov ecx, 1
cmp eax, 0x80
jb 0x4910ce
mov ecx, 2
cmp eax, 0x800
jb 0x4910ce
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
mov eax, dword [esi + 0x60]
add eax, ecx
mov ecx, dword [esi + 0x10]
jb 0x494b17
mov edx, dword [esi + 0x248]
mov dword [esi + 0x60], eax
inc edx
mov dword [esi + 0x1c], edx
mov edx, dword [esi + 0x14]
je 0x494b2a
mov eax, dword [esi + 0x240]
mov edi, dword [esi + 0x244]
mov byte [esi + 0xb], 1
mov dword [esi + 0x24], edi
push eax
call fcn.004d36c0
add esp, 4
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x240]
mov ecx, dword [esi + 0x248]
mov byte [esi + 0xb], 1
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x244]
mov dword [esi + 0x3c], ecx
lea ecx, [esi + 0x14c]
mov dword [esi + 0x38], eax
call fcn.004d37a0
mov ebx, dword [esi + 0xc]
xor eax, eax
cmp dword [esi + 0x28], 0xa
mov edx, dword [esi + 0x1c]
mov ecx, 1
mov dword [esi + 0xd8], 0x80000003
mov dword [esi + 0xdc], ebx
cmove edx, ecx
mov ecx, dword [esi + 0x24]
sete al
add ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0xe8], eax
mov dword [esi + 0xec], ecx
mov dword [esi + 0xf0], edx
mov byte [esi + 0xf4], 1
lea ecx, [esi + 0xd4]
mov edx, 0x80000003
mov eax, dword [ecx + 0x2c]
movsd xmm1, qword [ecx + 0x1c]
movq xmm0, qword [ecx + 0x24]
movq xmm2, qword [ecx + 0xc]
mov dword [esi + 0x98], eax
lea eax, [edx + 0x7ffffffe]
movsd qword [esi + 0x88], xmm1
movq xmm1, qword [ecx + 0x14]
mov ecx, 4
movq qword [esi + 0x90], xmm0
movq qword [esi + 0x78], xmm2
cmp eax, 4
cmovae eax, ecx
mov eax, dword [eax*4 + 0x495f48]
movq qword [esi + 0x80], xmm1
add eax, dword [esi + 0x74]
jmp eax
lea ecx, [esi + 0xc8]
lea edx, [esi + 0x14c]
mov byte [esi + 0xb], 1
call fcn.004d38a0
mov edx, dword [esi + 0xd4]
mov ecx, dword [esi + 0xc8]
mov eax, dword [esi + 0xcc]
mov edi, dword [esi + 0xd0]
mov ebx, dword [esi + 0xdc]
mov dword [esi + 0x30], edx
mov edx, dword [esi + 0xd8]
cmp ecx, 0x22
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], edi
jne 0x4917ac
lea ecx, [esi + 0xd4]
mov edi, 4
mov eax, dword [ecx + 0x2c]
movsd xmm1, qword [ecx + 0x1c]
movq xmm0, qword [ecx + 0x24]
movq xmm2, qword [ecx + 0xc]
mov dword [esi + 0x98], eax
lea eax, [edx + 0x7ffffffe]
movsd qword [esi + 0x88], xmm1
movq xmm1, qword [ecx + 0x14]
movq qword [esi + 0x90], xmm0
movq qword [esi + 0x78], xmm2
cmp eax, 4
cmovae eax, edi
mov eax, dword [eax*4 + 0x495f48]
movq qword [esi + 0x80], xmm1
add eax, dword [esi + 0x74]
jmp eax
movsd xmm1, qword [esi + 0xb0]
mov eax, dword [esi + 0xc0]
movq xmm0, qword [esi + 0xb8]
movq xmm2, qword [esi + 0xa0]
mov byte [esi + 0xb], 0
lea ecx, [esi + 0xc8]
lea edx, [esi + 0x14c]
movsd qword [esi + 0x88], xmm1
movq xmm1, qword [esi + 0xa8]
mov dword [esi + 0x98], eax
lea eax, [esi + 0x78]
movq qword [esi + 0x90], xmm0
movq qword [esi + 0x78], xmm2
movq qword [esi + 0x80], xmm1
push eax
call fcn.004d2d90
add esp, 4
mov edi, dword [esi + 0xc8]
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0xd0]
cmp edi, 0x22
jne 0x4938b5
mov dword [esi + 0x38], eax
lea eax, [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov byte [esi + 0x143], 1
mov dword [esi + 0x588], 8
lea ecx, [esi + 0xc8]
lea edx, [esi + 0x14c]
push eax
call fcn.004d8c60
add esp, 4
mov edx, dword [esi + 0xc8]
lea eax, [esi + 0x1f0]
cmp edx, 0x22
jne 0x49391e
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
cmp dword [esi + 0x1f0], 0
mov dword [esi + 0xc8], ecx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], edx
mov dword [esi + 0xcc], edx
jne 0x49468a
mov ecx, dword [esi + 0x1f4]
mov edx, dword [esi + 0x1f8]
mov ebx, dword [esi + 0x1fc]
mov dword [esi + 0x1f4], 0
mov dword [esi + 0x1f8], 4
mov dword [esi + 0x1fc], 0
mov dword [esi + 0x1f0], 0
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0x1c]
test ebx, ebx
je 0x491620
lea edi, [edx + 4]
jmp 0x4915e6
add edi, 0x24
dec ebx
je 0x491620
cmp dword [edi - 4], 0
je 0x4915e0
push dword [edi]
push 0
push dword [0x5b93c8]
mov dword [esi + 0xc], ebx
mov ebx, edx
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, ebx
mov ebx, dword [esi + 0xc]
mov ecx, dword [esi + 0x1c]
lea eax, [esi + 0x1f0]
jmp 0x4915e0
cmp dword [esi + 0x30], 0
je 0x491648
push edx
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x1c]
lea eax, [esi + 0x1f0]
mov dword [esi + 0x588], 4
mov edx, dword [esi + 0x20]
mov dword [esi + 0x258], ecx
mov dword [esi + 0x1c], ecx
mov ecx, eax
mov byte [esi + 0x9f], 1
mov dword [esi + 0x588], 4
mov dword [esi + 0x25c], edx
call fcn.00474d10
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0xc4]
mov eax, dword [esi + 0x20]
mov dword [esi + 0x270], ecx
mov dword [esi + 0x274], eax
cmp edx, dword [esi + 0x1a8]
mov eax, dword [esi + 0x148]
jne 0x4901e0
lea ecx, [esi + 0x1a8]
mov dword [esi + 0x588], 5
call fcn.00531740
mov eax, dword [esi + 0x1ac]
mov edx, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1c]
jmp 0x4901e0
mov ecx, dword [esi + 0xa4]
lea eax, [esi + 0x1f0]
mov dword [esi + 0x10], 0
mov dword [esi + 0x24], edx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x13c], ecx
nop word cs:[eax + eax]
mov edi, dword [esi + 0x10]
cmp dword [esi + 0x50], edi
je 0x491772
inc edi
lea eax, [ecx + 8]
mov dword [esi + 0x588], 0xf
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], eax
call fcn.004d8820
mov edx, dword [esi + 0x24]
mov ebx, dword [esi + 0xc]
mov ecx, dword [esi + 0x14]
lea eax, [esi + 0x1f0]
jmp 0x491740
cmp dword [esi + 0xa0], 0
je 0x491798
push dword [esi + 0x13c]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0x24]
lea eax, [esi + 0x1f0]
mov edi, dword [esi + 0x60]
mov ecx, dword [esi + 0x28]
cmp edi, 0x22
je 0x4915c6
jmp 0x491874
mov dword [esi + 0x60], ecx
lea ecx, [esi + 0xd4]
mov eax, dword [ecx + 0x2c]
movq xmm0, qword [ecx + 0x24]
movq xmm1, qword [ecx + 0x1c]
movq xmm3, qword [ecx + 0x14]
movq xmm2, qword [ecx + 0xc]
mov ecx, dword [esi + 0x104]
mov dword [esi + 0x98], eax
movq qword [esi + 0x90], xmm0
movq qword [esi + 0x88], xmm1
movq qword [esi + 0x80], xmm3
mov dword [esi + 0x28], ecx
movq qword [esi + 0x1c0], xmm2
movq qword [esi + 0x1c8], xmm3
movq qword [esi + 0x1d0], xmm1
movq qword [esi + 0x1d8], xmm0
mov dword [esi + 0x1e0], eax
jmp 0x491717
mov dword [esi + 0x1c], ecx
mov ecx, eax
mov eax, dword [eax + 0x2c]
mov dword [esi + 0x24], edx
lea edx, [esi + 0x1d0]
mov dword [esi + 0x30], edi
movq xmm2, qword [esi + 0x38]
mov edi, dword [esi + 0x60]
movq xmm0, qword [ecx + 0x1c]
movsd xmm1, qword [ecx + 0x24]
mov ecx, dword [esi + 0x104]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0xc]
movsd qword [edx + 8], xmm1
movq qword [edx], xmm0
mov edx, dword [esi + 0x24]
movq xmm1, qword [esi + 0x40]
movq qword [esi + 0x1c0], xmm2
mov dword [esi + 0x20], eax
movq qword [esi + 0x1c8], xmm1
mov eax, dword [esi + 0x1e0]
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x1ec]
movsd xmm0, qword [esi + 0x1d8]
movsd xmm1, qword [esi + 0x1c8]
mov dword [esi + 0x588], 3
mov dword [esi + 0x178], eax
mov eax, dword [esi + 0x1c]
movsd qword [esi + 0x170], xmm0
movsd xmm0, qword [esi + 0x1d0]
movsd qword [esi + 0x160], xmm1
movsd xmm1, qword [esi + 0x160]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x20]
movsd qword [esi + 0x168], xmm0
movsd xmm0, qword [esi + 0x1c0]
movsd xmm2, qword [esi + 0x168]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x30]
movsd qword [esi + 0x158], xmm0
movsd xmm0, qword [esi + 0x158]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x178]
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], ebx
movsd qword [ecx + 0x28], xmm1
movsd xmm1, qword [esi + 0x170]
mov edx, dword [esi + 0x180]
movsd qword [ecx + 0x30], xmm2
movsd qword [ecx + 0x20], xmm0
mov dword [ecx + 0x40], eax
mov eax, dword [esi + 0x28]
movsd qword [ecx + 0x38], xmm1
mov dword [ecx + 0x44], eax
mov dword [ecx], 0
mov dword [ecx + 4], edx
mov dword [ecx + 8], edi
lea ecx, [esi + 0x1f0]
call fcn.00474d10
mov ecx, dword [esi + 0x194]
mov edx, dword [esi + 0x198]
mov dword [esi + 0x588], 1
mov dword [esi + 0xc], ecx
call fcn.00474b40
cmp dword [esi + 0x190], 0
je 0x491983
push dword [esi + 0xc]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x1ac]
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], ecx
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [esi + 0xc4], eax
je 0x4919c9
inc eax
lea edx, [ecx + 8]
mov dword [esi + 0x588], 0x42
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], edx
call fcn.00475bb0
mov ecx, dword [esi + 0x10]
jmp 0x4919a0
cmp dword [esi + 0x1a8], 0
je 0x4919e3
push dword [esi + 0x14]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x580]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esi + 0x1ac]
mov eax, dword [esi + 0xc4]
lea eax, [edi + eax*8]
mov dword [esi + 0x188], eax
mov eax, dword [esi + 0x1e8]
lea ecx, [eax + 0x45]
mov dword [esi + 0x184], ecx
movzx ecx, byte [eax + 0x44]
movzx eax, byte [eax + 0x4b]
mov byte [esi + 0x144], cl
mov byte [esi + 0x1b4], al
mov al, 1
xor ecx, ecx
jmp 0x491a92
mov eax, dword [esi + 0x194]
mov edi, dword [esi + 0x208]
lea ecx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add ecx, edx
inc edx
mov dword [eax + ecx + 0x18], edi
mov edi, dword [esi + 0x148]
movsd xmm0, qword [esi + 0x200]
movsd qword [eax + ecx + 0x10], xmm0
movq xmm0, qword [esi + 0x1f0]
movq xmm1, qword [esi + 0x1f8]
movq qword [eax + ecx + 8], xmm1
movq qword [eax + ecx], xmm0
mov dword [esi + 0x198], edx
mov cl, 1
xor eax, eax
test cl, 1
mov ecx, dword [esi + 0x1e8]
jne 0x493882
test al, 1
je 0x494be9
cmp edi, dword [esi + 0x188]
je 0x493882
mov ecx, dword [esi + 0x184]
lea eax, [edi + 8]
lea edx, [esi + 0xb0]
mov ebx, dword [ebp + 8]
mov dword [esi + 0x78], 0
mov dword [esi + 0x7c], 4
mov dword [esi + 0x84], 0
mov dword [esi + 0x88], 4
mov dword [esi + 0x80], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x14], 4
mov dword [esi + 0x148], eax
movzx eax, word [ecx + 4]
mov word [edx + 4], ax
mov eax, dword [ecx]
lea ecx, [esi + 0xa0]
mov dword [esi + 0x19c], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esi + 0x1a0], ebx
mov dword [edx], eax
movzx eax, byte [esi + 0x144]
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 0
mov dword [esi + 0xa8], 4
mov dword [esi + 0xac], 0
xor edx, edx
mov dword [esi + 0x1a4], ecx
mov byte [esi + 0xb7], al
movzx eax, byte [esi + 0x1b4]
mov byte [esi + 0xb6], al
mov eax, dword [edi]
mov dword [esi + 0x30], edi
lea ecx, [eax - 7]
cmp ecx, 4
ja 0x491fa4
mov eax, dword [ecx*4 + 0x495f5c]
mov dword [esi + 0x10], edx
add eax, dword [esi + 0x74]
jmp eax
mov ebx, dword [edi + 4]
lea ecx, [eax - 7]
cmp ecx, 4
ja 0x4933d0
mov eax, dword [ecx*4 + 0x495f8c]
add eax, dword [esi + 0x74]
jmp eax
mov dword [esi + 0x588], 0x1b
lea ecx, [esi + 0x270]
lea edx, [esi + 0x19c]
push ebx
push eax
call fcn.004efd90
add esp, 8
mov edi, dword [esi + 0x270]
cmp edi, 0x80000000
jne 0x4937b0
mov edx, dword [esi + 0x80]
test edx, edx
je 0x493500
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x14], eax
nop word cs:[eax + eax]
lea ecx, [edx - 1]
lea edi, [ecx + ecx*4]
mov ebx, dword [eax + edi*4 + 4]
cmp ebx, 4
je 0x493500
mov dword [esi + 0x10], edx
mov edx, dword [eax + edi*4]
cmp ebx, 2
mov dword [esi + 0xc], ecx
jb 0x493464
mov ecx, dword [eax + edi*4 + 0xc]
mov dword [esi + 0x50], edi
mov dword [esi + 0x30], ecx
mov ecx, dword [eax + edi*4 + 0x10]
jne 0x493460
mov edi, dword [esi + 0x50]
test ecx, ecx
je 0x493464
jmp 0x4934d0
test ecx, ecx
jne 0x49349d
mov eax, edx
lea ecx, [esi + 0x270]
lea edx, [esi + 0x19c]
push dword [eax + 4]
push dword [eax]
call fcn.004efd90
add esp, 8
mov edi, dword [esi + 0x270]
cmp edi, 0x80000000
jne 0x4937b0
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x14]
test edx, edx
jne 0x493420
jmp 0x493500
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x60], edx
lea ecx, [esi + 0xa0]
lea edx, [esi + 0x270]
mov dword [esi + 0xc], ebx
mov dword [esi + 0x270], 0xf
call fcn.004f3850
mov eax, dword [esi + 0x14]
mov ebx, dword [esi + 0xc]
mov edx, dword [esi + 0x60]
mov edi, dword [esi + 0x50]
mov ecx, dword [esi + 0x1c]
lea eax, [eax + edi*4]
mov edi, dword [esi + 0x30]
mov dword [eax], edx
mov edx, ecx
mov dword [eax + 4], ebx
dec edx
lea ecx, [edi + 8]
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov edx, dword [esi + 0x10]
mov dword [esi + 0x80], edx
jmp 0x491b75
mov edx, dword [esi + 0x19c]
mov eax, dword [edx]
cmp eax, 0x7ffffffe
ja 0x494c02
inc eax
mov dword [edx], eax
mov eax, dword [edx + 0xc]
cmp eax, 1
mov dword [esi + 0xc8], eax
jne 0x494c11
dec dword [edx]
cmp dword [edx], 0
jne 0x494c4c
mov dword [edx], 0xffffffff
mov dword [edx + 0xc], 0
mov ecx, dword [edx + 8]
movsd xmm0, qword [ecx + 0x14]
mov eax, dword [ecx]
movsd qword [esi + 0xd8], xmm0
cmp eax, 0x10
movsd xmm0, qword [ecx + 0xc]
movsd qword [esi + 0xd0], xmm0
movsd xmm0, qword [ecx + 4]
movsd qword [esi + 0xc8], xmm0
mov dword [edx], 0
je 0x494c5b
movsd xmm0, qword [esi + 0xd8]
movq xmm2, qword [esi + 0xc8]
movq xmm1, qword [esi + 0xd0]
mov dword [esi + 0x270], eax
lea eax, [esi + 0x274]
lea ecx, [esi + 0xc8]
lea edx, [esi + 0x270]
movsd qword [eax + 0x10], xmm0
movq qword [eax + 8], xmm1
movq qword [eax], xmm2
call fcn.004f4c00
mov ecx, dword [esi + 0xcc]
mov eax, dword [esi + 0xc8]
mov edx, dword [esi + 0xd0]
movsd xmm0, qword [esi + 0xd4]
mov ebx, dword [esi + 0xe0]
mov edi, 0x80000000
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0xdc]
mov dword [esi + 0xc], eax
mov dword [esi + 0x14], edx
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x60], ecx
cmp dword [esi + 0x78], 0
je 0x493610
push dword [esi + 0x7c]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x84], 0
je 0x49362d
push dword [esi + 0x88]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp edi, 0x80000000
jne 0x4939c7
mov eax, dword [esi + 0x14]
movdqa xmm0, xmmword [esi + 0x50]
mov edx, dword [esi + 0x60]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0xc], 0
mov dword [esi + 0x1f8], eax
movq qword [esi + 0x1fc], xmm0
mov dword [esi + 0x204], edx
mov edx, dword [esi + 0x10]
mov dword [esi + 0x208], ebx
mov dword [esi + 0x1f0], ecx
mov ecx, dword [esi + 0xac]
mov dword [esi + 0x1f4], edx
mov edx, dword [esi + 0xa8]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
jmp 0x4936a6
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
je 0x493720
lea eax, [ebx + ebx*8]
mov ecx, 0
lea edi, [eax + eax*2]
lea eax, [ebx + 1]
add edi, ebx
mov dword [esi + 0xc], eax
mov eax, dword [edx + edi]
cmp eax, 8
lea eax, [eax - 7]
cmovb eax, ecx
cmp eax, 3
ja 0x4936a6
mov eax, dword [eax*4 + 0x495fb0]
add edi, edx
add eax, dword [esi + 0x74]
jmp eax
cmp dword [esi + 0xa4], 0
je 0x493738
push edx
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0x198]
mov eax, dword [esi + 0x208]
movq xmm0, qword [esi + 0x200]
movq xmm2, qword [esi + 0x1f0]
movq xmm1, qword [esi + 0x1f8]
cmp edx, dword [esi + 0x190]
mov dword [esi + 0x288], eax
movq qword [esi + 0x280], xmm0
movq qword [esi + 0x278], xmm1
movq qword [esi + 0x270], xmm2
jne 0x491a40
lea ecx, [esi + 0x190]
mov dword [esi + 0x60], ebx
mov dword [esi + 0x588], 0x15
call fcn.00474c60
mov edx, dword [esi + 0x198]
jmp 0x491a40
mov ecx, dword [esi + 0x278]
mov edx, dword [esi + 0x27c]
mov eax, dword [esi + 0x274]
movsd xmm0, qword [esi + 0x280]
mov ebx, dword [esi + 0x28c]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x294]
mov dword [esi + 0x14], edx
mov edx, dword [esi + 0x290]
mov dword [esi + 0xc], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x264], ecx
mov ecx, dword [esi + 0x288]
mov dword [esi + 0x260], edx
mov dword [esi + 0x60], ecx
cmp dword [esi + 0x78], 0
jne 0x4935ff
jmp 0x493610
mov eax, dword [esi + 0x198]
mov edi, dword [esi + 0x194]
movzx edx, byte [ecx + 0x3a]
mov dh, byte [ecx + 0x3b]
mov ebx, ecx
mov dword [esi + 0x144], eax
movzx eax, byte [ecx + 0x34]
mov ah, byte [ecx + 0x3c]
cmp al, 3
je 0x4938b0
cmp al, 2
jne 0x493abf
jmp 0x493af3
mov dword [esi + 0x1c], eax
lea eax, [esi + 0xd4]
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0xd4]
mov edx, dword [esi + 0xd8]
mov ebx, dword [esi + 0xdc]
movsd xmm1, qword [eax + 0x14]
movq xmm0, qword [eax + 0xc]
movq xmm2, qword [eax + 0x1c]
movsd qword [esi + 0x1c8], xmm1
movq xmm1, qword [eax + 0x24]
mov eax, dword [eax + 0x2c]
movq qword [esi + 0x1c0], xmm0
movq qword [esi + 0x1d0], xmm2
mov dword [esi + 0x1e0], eax
mov eax, dword [esi + 0x104]
movq qword [esi + 0x1d8], xmm1
mov dword [esi + 0x28], eax
jmp 0x4939bc
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0xd8]
mov edi, dword [esi + 0xdc]
mov byte [esi + 0xb], 0
mov dword [esi + 0x588], 7
mov dword [esi + 0x60], edx
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 0x24], ecx
mov ecx, dword [esi + 0x104]
mov dword [esi + 0xc], edi
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0xd4]
mov dword [esi + 0x28], ecx
lea ecx, [esi + 0x38]
mov dword [esi + 0x30], eax
lea eax, [esi + 0xd4]
movsd xmm1, qword [eax + 0x14]
movq xmm0, qword [eax + 0xc]
movq xmm2, qword [eax + 0x1c]
movsd qword [esi + 0x1c8], xmm1
movq xmm1, qword [eax + 0x24]
mov eax, dword [eax + 0x2c]
movq qword [esi + 0x1c0], xmm0
movq qword [esi + 0x1d0], xmm2
mov dword [esi + 0x1e0], eax
movq qword [esi + 0x1d8], xmm1
call fcn.004d8820
mov ecx, dword [esi + 0x30]
mov edi, dword [esi + 0x60]
mov edx, dword [esi + 0x24]
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0x28]
jmp 0x491874
mov eax, dword [esi + 0x264]
mov ecx, dword [esi + 0x1ec]
movsd xmm0, qword [esi + 0x1c0]
movq xmm1, qword [esi + 0x1c8]
mov dword [esi + 0x26c], eax
mov eax, dword [esi + 0x260]
mov edx, dword [esi + 0x26c]
mov dword [esi + 0x268], eax
mov eax, dword [esi + 0x60]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x28], ebx
mov dword [ecx + 0x30], edx
mov ebx, dword [esi + 0x268]
mov edx, dword [esi + 0x1d0]
mov dword [ecx + 0x2c], ebx
mov dword [ecx + 0x44], edx
movsd qword [ecx + 0x34], xmm0
movq qword [ecx + 0x3c], xmm1
mov dword [ecx + 0xc], edi
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
movdqa xmm0, xmmword [esi + 0x50]
mov dword [esi + 0xc], 0
mov dword [ecx + 0x10], edi
mov edi, dword [esi + 0x14]
mov dword [ecx + 0x14], edx
mov edx, dword [esi + 0xac]
mov dword [ecx + 0x18], edi
movq qword [ecx + 0x1c], xmm0
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0x22
mov ecx, dword [esi + 0xa8]
mov dword [esi + 0x14], edx
mov dword [esi + 0x50], ecx
nop
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x14], eax
je 0x493a96
inc eax
lea edx, [ecx + 0x1c]
mov dword [esi + 0x588], 0x1a
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], edx
call fcn.00474fd0
mov ecx, dword [esi + 0x10]
jmp 0x493a70
cmp dword [esi + 0xa4], 0
je 0x493ab0
push dword [esi + 0x50]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x588], 1
jmp 0x49194b
mov ebx, dword [esi + 0x1e8]
mov byte [esi + 0x60], dh
mov byte [esi + 0x50], dl
mov edx, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x2c]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
lock inc dword [edx]
jle 0x494df0
mov ecx, dword [ebx + 0x30]
mov ebx, dword [esi + 0x10]
movzx edx, byte [esi + 0x50]
mov dh, byte [esi + 0x60]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x14]
mov byte [esi + 0x22a], dl
mov byte [esi + 0x22b], dh
mov byte [esi + 0x22c], ah
mov dword [esi + 0x218], ecx
mov dword [esi + 0x21c], ebx
mov ebx, dword [esi + 0x1e8]
mov edx, dword [esi + 0xc]
movzx ecx, byte [ebx + 0x42]
mov dword [esi + 0x220], edx
mov edx, dword [ebx + 8]
mov byte [esi + 0x224], al
xor eax, eax
mov byte [esi + 0x232], cl
mov ecx, dword [ebx + 0x10]
test edx, edx
setne al
cmp edx, 2
cmove eax, edx
movzx edx, byte [ebx + 0x41]
mov dword [esi + 0x1f8], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [ebx + 0xc]
mov dword [esi + 0x1fc], ecx
mov ecx, dword [ebx + 0x18]
mov dword [esi + 0x200], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [ebx + 0x14]
mov dword [esi + 0x204], ecx
mov ecx, dword [ebx]
mov dword [esi + 0x1f0], ecx
mov ecx, dword [ebx + 4]
mov dword [esi + 0x1f4], ecx
mov ecx, dword [ebx + 0x20]
mov dword [esi + 0x208], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [ebx + 0x1c]
mov dword [esi + 0x20c], ecx
mov dword [esi + 0x210], eax
mov eax, dword [ebx + 0x24]
movzx ecx, word [ebx + 0x38]
mov dword [esi + 0x214], eax
mov eax, dword [ebx + 0x3d]
mov ebx, dword [esi + 0x144]
test ebx, ebx
mov dword [esi + 0x22d], eax
mov byte [esi + 0x231], dl
mov word [esi + 0x228], cx
je 0x493e16
movzx eax, byte [0x5b9430]
lea edx, [ebx*4]
xor ecx, ecx
mov dword [esi + 0xc4], edx
call fcn.0051b940
test eax, eax
mov dword [esi + 0x20], eax
je 0x494d51
cmp ebx, 8
mov edx, ebx
mov ebx, 0
jb 0x493ca0
mov eax, dword [esi + 0x20]
movdqa xmm0, xmmword [0x547530]
movdqa xmm1, xmmword [0x547710]
movdqa xmm3, xmmword [str.pppp_n_nd]
movdqa xmm4, xmmword [str._b_b_b_b]
mov ebx, edx
movd xmm2, edi
and ebx, 0xfffffff8
pshufd xmm2, xmm2, 0
mov ecx, ebx
add eax, 0x10
nop word cs:[eax + eax]
nop
movdqa xmm5, xmm0
pshufd xmm6, xmm0, 0xf5
paddd xmm0, xmm4
pmuludq xmm5, xmm1
pmuludq xmm6, xmm1
pshufd xmm5, xmm5, 0xe8
pshufd xmm6, xmm6, 0xe8
punpckldq xmm5, xmm6
paddd xmm5, xmm2
movdqu xmmword [eax - 0x10], xmm5
paddd xmm5, xmm3
movdqu xmmword [eax], xmm5
add eax, 0x20
add ecx, 0xfffffff8
jne 0x493c60
cmp edx, ebx
je 0x493ccb
lea eax, [ebx + ebx*8]
mov ecx, dword [esi + 0x20]
lea eax, [eax + eax*2]
add eax, ebx
add edi, eax
mov eax, edx
sub eax, ebx
lea ecx, [ecx + ebx*4]
nop word cs:[eax + eax]
nop
mov dword [ecx], edi
add ecx, 4
add edi, 0x1c
dec eax
jne 0x493cc0
mov edx, 4
xor ecx, ecx
xor edi, edi
mov dword [esi + 0x78], 0
mov dword [esi + 0x7c], 4
mov dword [esi + 0x80], 0
jmp 0x493d13
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x28]
mov eax, edi
add ecx, 4
lea edi, [eax + 1]
mov dword [edx + eax*4], ebx
cmp dword [esi + 0xc4], ecx
mov dword [esi + 0x80], edi
je 0x493de3
mov eax, dword [esi + 0x20]
mov dword [esi + 0x28], edx
mov dword [esi + 0xc], ecx
mov edx, 0x34
mov ebx, dword [eax + ecx]
movzx eax, byte [0x5b9430]
xor ecx, ecx
call fcn.0051b940
test eax, eax
je 0x494bbe
mov ecx, dword [ebx + 0x18]
mov edx, dword [ecx]
movzx ebx, word [ecx + 0x30]
mov dword [esi + 0x50], edx
mov edx, dword [ecx + 4]
mov word [esi + 0x14], bx
mov ebx, dword [ecx + 0x10]
mov dword [esi + 0x60], edx
mov edx, dword [ecx + 8]
mov dword [esi + 0x74], ebx
mov ebx, dword [ecx + 0x14]
mov dword [esi + 0x1c], edx
movzx edx, byte [ecx + 0x32]
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0x50]
mov byte [esi + 0x10], dl
mov edx, dword [ecx + 0xc]
mov dword [eax], ebx
mov ebx, dword [esi + 0x60]
mov dword [eax + 4], ebx
mov ebx, dword [esi + 0x1c]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov edx, dword [esi + 0x74]
movzx ebx, word [esi + 0x14]
mov dword [eax + 0x10], edx
mov edx, dword [esi + 0x24]
mov dword [eax + 0x14], edx
movzx edx, byte [esi + 0x10]
movups xmm0, xmmword [ecx + 0x18]
movups xmmword [eax + 0x18], xmm0
movq xmm0, qword [ecx + 0x28]
movq qword [eax + 0x28], xmm0
mov word [eax + 0x30], bx
mov byte [eax + 0x32], dl
mov ebx, eax
cmp edi, dword [esi + 0x78]
jne 0x493cf0
lea ecx, [esi + 0x78]
mov edx, edi
mov dword [esi + 0x10], ebx
mov dword [esi + 0x588], 0x36
call fcn.00462650
mov edx, dword [esi + 0x7c]
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
jmp 0x493cf8
test edi, edi
je 0x493e44
mov ecx, dword [esi + 0x7c]
mov dl, 1
mov dword [esi + 0x28], 0
mov dword [esi + 0x1c], edx
mov edi, dword [ecx]
cmp dword [edi], 0
je 0x493e7a
mov edx, dword [edi + 4]
mov dword [esi + 0x30], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0x188], edx
jmp 0x493e86
pxor xmm0, xmm0
mov al, 1
mov dword [esi + 0x78], 0
mov dword [esi + 0x7c], 4
mov dword [esi + 0x80], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x20], 4
jmp 0x493e51
pxor xmm0, xmm0
mov al, 1
mov dword [esi + 0xc], 0
movdqa xmmword [esi + 0x60], xmm0
mov dword [esi + 0x10], eax
mov al, 1
mov dword [esi + 0x50], 0
xor ebx, ebx
mov dword [esi + 0x28], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x14], eax
jmp 0x494070
mov dl, 1
mov dword [esi + 0x30], 0
mov dword [esi + 0x24], edx
cmp dword [edi + 8], 0
mov dword [esi + 0x60], ecx
je 0x493ea8
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x28], 1
mov dword [esi + 0x1c], 0
mov dword [esi + 0x184], ecx
jmp 0x493ea8
mov ecx, dword [edi + 0x14]
movzx edx, byte [edi + 0x31]
mov ebx, dword [edi + 0x10]
movups xmm2, xmmword [edi + 0x18]
test eax, eax
mov dword [esi + 0xc4], ecx
mov ecx, dword [edi + 0x28]
mov dword [esi + 0x10], edx
mov dword [esi + 0x50], ecx
movzx ecx, byte [edi + 0x30]
mov dword [esi + 0x14], ecx
mov ecx, dword [edi + 0x2c]
mov dword [esi + 0xc], ecx
je 0x49406c
mov ecx, dword [esi + 0x60]
shl eax, 2
add ecx, 4
jmp 0x493f30
mov dword [esi + 0x10], 0
test byte [esi + 0x24], 1
je 0x493fa3
test byte [esi + 0x1c], 1
je 0x494010
movups xmm0, xmmword [edi + 0x18]
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0x60]
movaps xmm1, xmm0
or edx, dword [edi + 0x28]
andps xmm0, xmm2
add ecx, 4
add eax, 0xfffffffc
orps xmm1, xmm2
shufps xmm1, xmm0, 0x9c
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x78
mov dword [esi + 0x50], edx
je 0x49406c
mov edi, dword [ecx]
cmp byte [esi + 0x14], 0
mov dword [esi + 0x60], ecx
je 0x493f44
movzx edx, byte [edi + 0x30]
mov dword [esi + 0x14], edx
jmp 0x493f4b
mov dword [esi + 0x14], 0
mov edx, dword [esi + 0xc]
mov ecx, 0xffffffff
add edx, dword [edi + 0x2c]
cmovb edx, ecx
mov ecx, ebx
test ebx, ebx
mov dword [esi + 0xc], edx
mov edx, dword [edi + 0x10]
je 0x493f7a
mov ebx, dword [esi + 0xc4]
test edx, edx
setne dh
cmp ebx, dword [edi + 0x14]
sete dl
and dl, dh
jmp 0x493f7f
test edx, edx
sete dl
xor ebx, ebx
test dl, dl
cmove ecx, ebx
cmp byte [esi + 0x10], 0
mov ebx, ecx
je 0x493ee5
movzx edx, byte [edi + 0x31]
mov dword [esi + 0x10], edx
test byte [esi + 0x24], 1
jne 0x493ef6
cmp dword [edi], 0
je 0x493ffa
mov ecx, ebx
mov edx, dword [esi + 0x30]
mov ebx, dword [edi + 4]
mov dword [esi + 0x74], ecx
mov ecx, dword [esi + 0x188]
test edx, edx
mov dword [esi + 0x148], ebx
sete byte [esi + 0x1b4]
cmp ebx, ecx
setb bh
or bh, byte [esi + 0x1b4]
mov ebx, dword [esi + 0x74]
cmovne ecx, dword [esi + 0x148]
mov dword [esi + 0x188], ecx
mov ecx, 1
cmovne edx, ecx
mov dword [esi + 0x30], edx
test byte [esi + 0x1c], 1
jne 0x493f00
jmp 0x494010
mov cl, 1
mov dword [esi + 0x30], 0
mov dword [esi + 0x24], ecx
test byte [esi + 0x1c], 1
jne 0x493f00
cmp dword [edi + 8], 0
je 0x49405b
mov ecx, dword [edi + 0xc]
mov edx, dword [esi + 0x28]
mov dword [esi + 0x74], ebx
mov dword [esi + 0x148], ecx
mov ecx, dword [esi + 0x184]
test edx, edx
sete bl
cmp dword [esi + 0x148], ecx
seta bh
or bh, bl
mov ebx, dword [esi + 0x74]
cmovne ecx, dword [esi + 0x148]
mov dword [esi + 0x184], ecx
mov ecx, 1
cmovne edx, ecx
mov dword [esi + 0x28], edx
jmp 0x493f00
mov cl, 1
mov dword [esi + 0x28], 0
mov dword [esi + 0x1c], ecx
jmp 0x493f00
movaps xmmword [esi + 0x60], xmm2
movzx eax, byte [0x5b9430]
xor ecx, ecx
mov edx, 0x34
call fcn.0051b940
test eax, eax
je 0x494d08
mov edi, eax
mov eax, dword [esi + 0x30]
movaps xmm0, xmmword [esi + 0x60]
mov dword [edi], eax
mov eax, dword [esi + 0x188]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x28]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x184]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0xc4]
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x50]
movups xmmword [edi + 0x18], xmm0
mov dword [edi + 0x28], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x2c], eax
mov eax, dword [esi + 0x14]
mov byte [edi + 0x30], al
mov eax, dword [esi + 0x10]
mov byte [edi + 0x31], 0
mov byte [edi + 0x32], al
push 0x44
lea eax, [esi + 0x1f0]
push eax
lea ebx, [esi + 0xc8]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x80]
movq xmm0, qword [esi + 0x78]
mov dword [esi + 0x270], 1
mov dword [esi + 0x274], 1
mov dword [esi + 0x114], eax
lea eax, [esi + 0x278]
movq qword [esi + 0x10c], xmm0
push 0x50
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x2c8], edi
xor ecx, ecx
mov edx, 0x5c
movzx eax, byte [0x5b9430]
call fcn.0051b940
test eax, eax
je 0x494d33
mov edi, eax
push 0x5c
lea eax, [esi + 0x270]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x9e], 1
mov dword [esi + 0x588], 0x38
lea ecx, [esi + 0x270]
mov dword [esi + 0xc], edi
mov edx, edi
push dword [esi + 0x144]
push dword [esi + 0x20]
call fcn.00495fd0
add esp, 8
mov eax, dword [esi + 0x270]
cmp eax, 2
jne 0x49444a
mov eax, dword [esi + 0x274]
mov ebx, dword [esi + 0x278]
mov dword [esi + 0x10], eax
lock inc dword [eax]
jle 0x494df0
movzx eax, byte [0x5b9430]
xor ecx, ecx
mov edx, 8
call fcn.0051b940
test eax, eax
je 0x494d74
mov edi, eax
mov eax, dword [esi + 0x10]
xor ecx, ecx
mov edx, 0x240
mov dword [edi], eax
mov dword [edi + 4], ebx
movzx eax, byte [0x5b9430]
call fcn.0051b940
test eax, eax
je 0x494d92
mov ecx, eax
and ecx, 0xffffffc0
lea edx, [ecx + 0x40]
mov dword [ecx + 0x3c], eax
mov dword [ecx + 0x40], 0
mov byte [ecx + 0x44], 0
mov dword [ecx + 0x48], 0
mov dword [ecx + 0x4c], 4
mov dword [ecx + 0x50], 0
mov dword [ecx + 0x80], 0
mov byte [ecx + 0x84], 0
mov dword [ecx + 0x88], 0
mov dword [ecx + 0x8c], 4
mov dword [ecx + 0x90], 0
mov dword [ecx + 0xc0], 0
mov byte [ecx + 0xc4], 0
mov dword [ecx + 0xc8], 0
mov dword [ecx + 0xcc], 4
mov dword [ecx + 0xd0], 0
mov dword [ecx + 0x100], 0
mov byte [ecx + 0x104], 0
mov dword [ecx + 0x108], 0
mov dword [ecx + 0x10c], 4
mov dword [ecx + 0x110], 0
mov dword [ecx + 0x140], 0
mov byte [ecx + 0x144], 0
mov dword [ecx + 0x148], 0
mov dword [ecx + 0x14c], 4
mov dword [ecx + 0x150], 0
mov dword [ecx + 0x180], 0
mov byte [ecx + 0x184], 0
mov dword [ecx + 0x188], 0
mov dword [ecx + 0x18c], 4
mov dword [ecx + 0x190], 0
mov dword [ecx + 0x1c0], 0
mov byte [ecx + 0x1c4], 0
mov dword [ecx + 0x1c8], 0
mov dword [ecx + 0x1cc], 4
mov dword [ecx + 0x1d0], 0
mov dword [ecx + 0x200], 0
mov byte [ecx + 0x204], 0
mov dword [ecx + 0x208], 0
mov dword [ecx + 0x20c], 4
mov dword [ecx + 0x210], 0
mov dword [esi + 0x56c], 8
xor ecx, ecx
mov dword [esi + 0x570], edx
mov dword [esi + 0x574], 8
mov dword [esi + 0x560], edi
mov dword [esi + 0x564], 0x555dd0
mov dword [esi + 0x568], 0
mov dword [esi + 0x270], 2
mov edx, 0x308
movzx eax, byte [0x5b9430]
call fcn.0051b940
test eax, eax
je 0x494db3
mov edi, eax
push 0x308
lea eax, [esi + 0x270]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, byte [0x5b9430]
xor ecx, ecx
mov edx, 0x14
call fcn.0051b940
mov edx, dword [esi + 0xc]
test eax, eax
je 0x494dd1
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x144], 0
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], edx
mov edx, dword [esi + 0x1ec]
mov dword [edx + 4], eax
mov dword [edx + 8], edi
mov dword [edx], 2
je 0x494507
push dword [esi + 0x20]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x494507
mov edx, dword [esi + 0x1ec]
movsd xmm1, qword [esi + 0x29c]
movsd xmm2, qword [esi + 0x2a4]
mov ecx, dword [esi + 0x2b4]
movq xmm0, qword [esi + 0x2ac]
movsd qword [edx + 0x2c], xmm1
movsd xmm1, qword [esi + 0x28c]
movsd qword [edx + 0x34], xmm2
movsd xmm2, qword [esi + 0x294]
mov dword [edx + 0x44], ecx
mov ecx, dword [esi + 0xc]
movq qword [edx + 0x3c], xmm0
movsd qword [edx + 0x1c], xmm1
movsd xmm1, qword [esi + 0x284]
movsd qword [edx + 0x24], xmm2
movsd xmm2, qword [esi + 0x27c]
movsd qword [edx + 0x14], xmm1
movq xmm1, qword [esi + 0x274]
movsd qword [edx + 0xc], xmm2
mov dword [edx], eax
movq qword [edx + 4], xmm1
lock dec dword [ecx]
jne 0x4944e3
mov eax, dword [esi + 0x20]
mov dword [esi + 0x588], 0x34
mov dword [esi + 0x1bc], eax
call fcn.0049e3f0
cmp dword [esi + 0x144], 0
je 0x4944fd
push dword [esi + 0x20]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x588], 2
mov ecx, dword [esi + 0x194]
mov edx, dword [esi + 0x198]
mov dword [esi + 0x588], 2
mov dword [esi + 0xc], ecx
call fcn.00474b40
cmp dword [esi + 0x190], 0
je 0x49453f
push dword [esi + 0xc]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x1ac]
mov eax, dword [esi + 0x1b0]
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], eax
mov dword [esi + 0x50], ecx
nop dword [eax + eax]
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x14], eax
je 0x494586
inc eax
lea edx, [ecx + 8]
mov dword [esi + 0x588], 0x40
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], edx
call fcn.00475bb0
mov ecx, dword [esi + 0x10]
jmp 0x494560
cmp dword [esi + 0x1a8], 0
je 0x4919e3
push dword [esi + 0x50]
jmp 0x4919d5
mov byte [esi + 0xb], 1
push 0x55946c
push edx
push eax
call fcn.0053c0c0
add esp, 0xc
jmp 0x494df0
lea ecx, [esi + 0x78]
lea eax, [esi + 0x38]
mov dword [esi + 0xc8], 0x559494
mov dword [esi + 0xcc], 1
mov dword [esi + 0xd8], 0
mov edx, 0x55949c
mov byte [esi + 0xb], 1
mov dword [esi + 0xd0], ecx
lea ecx, [esi + 0xc8]
mov dword [esi + 0x78], eax
mov dword [esi + 0x7c], 0x453380
mov dword [esi + 0xd4], 1
call fcn.0053ba80
jmp 0x494df0
mov ecx, 0x559044
mov dword [esi + 0x588], 3
call fcn.0053bf10
jmp 0x494df0
mov ecx, 0x55944c
mov dword [esi + 0x588], 6
call fcn.0053bdf0
jmp 0x494df0
mov ecx, 0x55970c
mov dword [esi + 0x588], 9
call fcn.0053bdf0
jmp 0x494df0
mov ecx, 0x55952c
mov byte [esi + 0xb], 1
call fcn.0053bf10
jmp 0x494df0
mov ecx, 0x55953c
mov byte [esi + 0xb], 1
call fcn.0053bf10
jmp 0x494df0
mov ecx, 0x55953c
mov byte [esi + 0xb], 1
call fcn.0053bf10
jmp 0x494df0
mov ecx, 0x55952c
mov byte [esi + 0xb], 1
call fcn.0053bf10
jmp 0x494df0
mov ecx, 0x55953c
mov byte [esi + 0xb], 1
call fcn.0053bf10
jmp 0x494df0
mov ecx, 0x55952c
mov byte [esi + 0xb], 1
call fcn.0053bf10
jmp 0x494df0
mov ecx, 0x55952c
mov byte [esi + 0xb], 1
call fcn.0053bf10
jmp 0x494df0
mov ecx, 0x55953c
mov byte [esi + 0xb], 1
call fcn.0053bf10
jmp 0x494df0
mov eax, dword [esi + 0x20]
mov ecx, 4
mov edx, 0x34
mov byte [esi + 0x4f], 1
mov dword [esi + 0x588], 0x35
mov dword [esi + 0x1b8], eax
call fcn.0053b730
jmp 0x494df0
mov ecx, 0x559044
mov dword [esi + 0x588], 3
call fcn.0053bf10
jmp 0x494df0
mov ecx, 0x55ac44
call fcn.0053be40
jmp 0x494df0
mov dword [esi + 0xc], edx
mov dword [esi + 0x270], 0
mov dword [esi + 0x588], 0x1e
lea ecx, [esi + 0xc8]
mov edx, 0x5a50f4
push 0x55ac34
lea eax, [esi + 0x270]
push eax
call fcn.00545260
add esp, 8
jmp 0x494df0
mov ecx, 0x55ae24
call fcn.0053bdf0
jmp 0x494df0
mov ecx, 0x55ac24
call fcn.0053bf10
jmp 0x494df0
mov eax, dword [esi + 0x20]
mov ecx, 4
mov edx, 0x34
mov byte [esi + 0x4f], 1
mov dword [esi + 0x588], 0x35
mov dword [esi + 0x1b8], eax
call fcn.0053b730
jmp 0x494df0
mov ecx, 4
mov edx, 0x5c
mov dword [esi + 0x588], 0x37
call fcn.0053b730
jmp 0x494df0
mov edx, dword [esi + 0xc4]
mov ecx, 4
mov byte [esi + 0x142], 1
mov dword [esi + 0x588], 0x33
call fcn.0053b730
jmp 0x494df0
mov ecx, 4
mov edx, 8
mov dword [esi + 0x14], ebx
mov dword [esi + 0x588], 0x3e
call fcn.0053b730
jmp 0x494df0
mov ecx, 0x40
mov edx, 0x200
mov dword [esi + 0x50], edi
mov dword [esi + 0x14], ebx
mov dword [esi + 0x588], 0x3a
call fcn.0053b730
jmp 0x494df0
mov ecx, 8
mov edx, 0x308
mov dword [esi + 0x14], ebx
mov dword [esi + 0x588], 0x3d
call fcn.0053b730
jmp 0x494df0
mov ecx, 4
mov edx, 0x14
mov dword [esi + 0x50], edi
mov dword [esi + 0x14], ebx
mov dword [esi + 0x588], 0x3c
call fcn.0053b730
ud2