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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1f0
mov eax, dword [ebp + 8]
mov ebx, ecx
mov esi, edx
call 0x47a60b
pop edx
movzx ecx, byte [eax]
cmp cl, 0x4b
jne 0x47b1d0
mov dword [esp + 0x1c], edx
movzx edx, byte [eax + 8]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
mov byte [esp + 0xe4], dl
mov edx, dword [esi + 8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x58], ecx
cmp dword [edx + 0x120], 2
lea eax, [edx + 0x120]
mov dword [esp + 0x34], edx
jne 0x47b5ca
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 8
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 8
mov dword [esp + 0xf0], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0x30], eax
mov ecx, dword [esi + 0xf0]
mov edi, dword [esi + 0xc4]
mov edx, dword [esi + 0xc0]
lea eax, [esi + 0xa8]
add ecx, 8
test edi, edi
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], 0
je 0x47b49e
mov ecx, dword [esp + 0x58]
mov eax, dword [esi + 0x100]
mov edx, dword [esi + 0xc8]
xor ebx, ebx
mov dword [esp + 0xd4], 8
mov dword [esp + 0x5c], 0
mov dword [esp + 0x10], 0
mov edi, dword [ecx + 0x64]
mov dword [esp + 0xbc], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x14c], edi
sub edi, eax
mov eax, 0
mov dword [esp + 0x140], edi
mov edi, edx
and edi, 0xff00
mov dword [esp + 0x13c], edi
mov edi, edx
shr edi, 0x10
mov dword [esp + 0x130], edi
xor edi, edi
cmp edx, 0x50000
mov edx, ecx
setae bl
cmovb eax, dword [esp + 0xbc]
test byte [ecx + 0x78], 1
mov dword [esp + 0x12c], ebx
cmove eax, edi
mov edi, dword [esi + 0xf8]
mov dword [esp + 0x148], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x60]
mov dword [esp + 0x108], edi
mov dword [esp + 0x104], eax
sub eax, edi
mov dword [esp + 0x124], ecx
mov dword [esp + 0xd0], eax
mov eax, ebx
shl eax, 3
mov dword [esp + 0x138], eax
mov eax, dword [esi + 0xe8]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x110], eax
movzx eax, ch
mov dword [esp + 0x144], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x100], eax
lea eax, [eax + edi]
mov dword [esp + 0xdc], eax
movzx eax, cl
mov dword [esp + 0x114], eax
mov eax, dword [esi + 0xec]
mov dword [esp + 0xfc], eax
lea eax, [ebx*8 + 4]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x90]
xor eax, eax
mov ebx, dword [esp + 0x88]
mov dword [esp + 4], 0
mov dword [esp + 8], edi
cmp byte [ecx + 0x21], 8
mov edx, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x24]
mov dword [esp + 0x14], ebx
sete al
add edx, dword [ecx + 0x18]
add esi, ebx
inc ebx
xor ecx, ecx
lea eax, [esi + eax*8]
xor esi, esi
sub eax, edx
add eax, 4
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xc]
neg eax
movzx edx, byte [ebx - 1]
cmp ecx, 0x3f
jne 0x47a882
cmp dl, 2
jae 0x47b20e
mov byte [esp + 0xa0], dl
xor edi, edi
mov dword [esp + 0x18], eax
mov eax, esi
mov esi, 0
movzx edx, byte [esp + 0xa0]
and dl, 0x7f
movzx edx, dl
shld edi, edx, cl
shl edx, cl
test cl, 0x20
cmovne edi, edx
cmovne edx, esi
mov esi, eax
or esi, edx
movzx edx, byte [esp + 0xa0]
or dword [esp + 4], edi
test dl, dl
jns 0x47a8da
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
add ecx, 7
inc ebx
inc eax
jne 0x47a870
jmp 0x47b222
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 4]
mov edi, esi
mov dword [esp + 0x88], ebx
not eax
or edi, ecx
mov dword [esp + 0x8c], eax
je 0x47aa57
mov eax, dword [esp + 0x94]
mov ebx, dword [esp + 0x20]
test ecx, ecx
jne 0x47a91e
lea ecx, [esi - 1]
cmp ecx, dword [eax + 8]
jae 0x47a91e
imul ecx, ecx, 0x68
add ecx, dword [eax + 4]
jmp 0x47aa08
mov ecx, dword [eax + 0xc]
mov dh, 0x12
test ecx, ecx
je 0x47b449
mov eax, dword [eax + 0x10]
mov edi, dword [esp + 8]
mov dword [esp + 0xf8], eax
movzx eax, word [ecx + 0x4d6]
mov dword [esp + 0x14], ecx
mov ebx, 0xffffffff
xor ecx, ecx
mov dword [esp + 0x120], eax
imul eax, eax, 0x68
mov dword [esp + 0x28], eax
nop dword [eax]
mov eax, dword [esp + 0x28]
add eax, ecx
je 0x47a9c9
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ebx*8 + 8]
mov dword [esp + 0x18], edx
mov edx, dword [eax + ebx*8 + 0xc]
xor eax, eax
mov edi, dword [esp + 0x18]
mov dword [esp + 0xc], edx
xor edx, dword [esp + 4]
xor edi, esi
or edi, edx
mov edx, dword [esp + 4]
mov edi, dword [esp + 8]
setne al
cmp esi, dword [esp + 0x18]
sbb edx, dword [esp + 0xc]
mov edx, 0xff
cmovb eax, edx
movzx edx, byte [esp + 0xa0]
inc ebx
add ecx, 0xffffff98
cmp al, 1
je 0x47a960
movzx eax, al
test eax, eax
je 0x47a9f9
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x14]
jmp 0x47a9db
mov ebx, dword [esp + 0x120]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xf8]
mov dh, 0x12
sub eax, 1
jb 0x47b362
mov ecx, dword [ecx + ebx*4 + 0x4d8]
mov dword [esp + 0xf8], eax
jmp 0x47a939
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
sub eax, ecx
add eax, 0xfffffff0
mov ecx, eax
cmp byte [ecx + 0x62], 1
jne 0x47aa15
inc dword [esp + 0x98]
cmp word [ecx + 0x60], 0x2e
mov dword [esp + 8], ecx
jne 0x47aa62
push ecx
call fcn.004bad60
add esp, 4
test edx, edx
je 0x47aa9f
mov edi, eax
shl edx, 4
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0
jmp 0x47aaec
dec dword [esp + 0x98]
xor edi, edi
jmp 0x47aaa3
push ecx
call fcn.004bad60
add esp, 4
mov esi, dword [esp + 0x90]
mov edi, edx
lea ecx, [esp + 0x150]
lea edx, [esp + 0x88]
push edi
push eax
push dword [esi + 0x20]
call fcn.00471220
add esp, 0xc
movzx eax, byte [esp + 0x150]
cmp al, 0x4b
jne 0x47b452
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x8c]
test eax, eax
mov dword [esp + 0xc], eax
jne 0x47a824
jmp 0x47b367
add eax, dword [esp + 0x148]
mov edx, 1
mov dword [esp + 0x10c], eax
mov dword [esp + 4], edx
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0xa0]
add edi, 0x10
add edx, 0xfffffff0
je 0x47ae37
movq xmm0, qword [edi]
movq xmm1, qword [edi + 8]
mov eax, dword [esp + 0x90]
mov dword [esp + 0xa0], edx
movq qword [esp + 0x40], xmm1
movq qword [esp + 0x38], xmm0
lea esi, [esp + 0x38]
lea ecx, [esp + 0x150]
lea edx, [esp + 0x88]
push esi
push dword [eax + 0x20]
call fcn.0046f990
add esp, 8
mov eax, dword [esp + 0x150]
xor eax, 0x2e
or eax, dword [esp + 0x154]
je 0x47b33f
movzx eax, word [esp + 0x160]
cmp eax, 0x11
je 0x47aca5
mov esi, dword [esp + 0xf4]
cmp eax, 0x12
je 0x47ac06
cmp eax, 0x55
jne 0x47aad9
lea ecx, [esp + 0x38]
lea edx, [esp + 0x150]
call fcn.00471a70
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
mov edx, ecx
and dl, 0x3f
cmp dl, 0x16
je 0x47aabb
xor edx, edx
cmp ecx, 0x18
jne 0x47aace
mov ecx, dword [esp + 0x14c]
cmp ecx, dword [esp + 0xbc]
jb 0x47c3eb
mul dword [esp + 0x144]
jo 0x47c3f6
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0xd8]
sub ecx, eax
jb 0x47c3fa
add eax, dword [esp + 0x110]
cmp dword [esp + 0x13c], 0x800
jne 0x47ad87
cmp ecx, 8
jb 0x47c405
cmp dword [eax + 4], 0
je 0x47ad90
jmp 0x47c445
lea ecx, [esp + 0x70]
lea edx, [esp + 0x150]
call fcn.00471a70
mov eax, dword [esp + 0x70]
test al, 0x3f
je 0x47ad7a
cmp eax, 7
je 0x47ad52
cmp eax, 0xc
jne 0x47ad6e
mov eax, dword [esp + 0x104]
cmp eax, dword [esp + 0x108]
jb 0x47b479
mov eax, dword [esp + 0x78]
mul dword [esp + 0x114]
jo 0x47b482
mov edx, dword [esp + 0xd0]
sub edx, eax
jb 0x47b489
movzx esi, byte [esp + 0x84]
dec esi
cmp esi, 7
ja 0x47c470
mov esi, dword [esi*4 + 0x47c678]
mov ecx, dword [esp + 0xdc]
add esi, dword [esp + 0x1c]
add ecx, eax
jmp esi
lea ecx, [esp + 0x70]
lea edx, [esp + 0x150]
call fcn.00471a70
mov eax, dword [esp + 0x70]
test al, 0x3f
je 0x47ad37
cmp eax, 0xc
jne 0x47aad9
mov eax, dword [esp + 0x104]
cmp eax, dword [esp + 0x108]
jb 0x47b479
mov eax, dword [esp + 0x78]
mul dword [esp + 0x114]
jo 0x47b482
mov edx, dword [esp + 0xd0]
sub edx, eax
jb 0x47b489
movzx esi, byte [esp + 0x84]
dec esi
cmp esi, 7
ja 0x47c470
mov esi, dword [esi*4 + 0x47c698]
mov ecx, dword [esp + 0xdc]
add esi, dword [esp + 0x1c]
add ecx, eax
jmp esi
mov eax, dword [esp + 0x78]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xb4], eax
jmp 0x47ade8
mov eax, dword [esp + 0x78]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x118], eax
mov al, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0xf4], esi
jmp 0x47aad9
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
jmp 0x47ae1e
cmp ecx, 4
jb 0x47c405
mov eax, dword [eax]
mov edx, 1
add eax, dword [esp + 0xbc]
jmp 0x47aac7
mov al, 1
mov dword [esp + 0x18], eax
jmp 0x47aad9
mov dword [esp + 0xcc], eax
mov al, 1
mov dword [esp + 0xf4], esi
mov dword [esp + 0xc], eax
jmp 0x47aad9
test byte [esp + 4], 1
je 0x47af3a
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x138]
mov edi, dword [esp + 8]
mov ecx, dword [eax + ecx + 0x58]
mov eax, dword [eax + edx + 0x58]
mov edx, dword [esp + 0x10c]
sub ecx, edx
jb 0x47c4d8
add eax, edx
mov edx, dword [esp + 0x128]
mov dword [esp + 0x150], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x154], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 0x158], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 0x15c], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 0x160], edx
mov edx, dword [esp + 0x84]
mov word [esp + 0x164], dx
mov edx, dword [esp + 0x130]
mov word [esp + 0x166], dx
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x16c], ecx
mov byte [esp + 0x170], al
mov byte [esp + 0x173], 0
mov word [esp + 0x171], 0
lea ecx, [esp + 0x38]
lea edx, [esp + 0x150]
call fcn.00476580
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, eax
xor edx, 2
or edx, ecx
jne 0x47afb1
mov edx, dword [esp + 0x40]
cmp dl, 0x4b
je 0x47b12c
jmp 0x47c4e2
test byte [esp + 0x18], 1
mov edi, dword [esp + 8]
je 0x47aaa3
test byte [esp + 0xc], 1
je 0x47b085
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xf4]
cmp dword [esp + 0xb8], esi
sbb eax, ecx
jae 0x47aaa3
mov eax, dword [esp + 0x5c]
mov edi, ecx
cmp eax, dword [esp + 0xc0]
jne 0x47b0e3
lea ecx, [esp + 0xc0]
call fcn.0046da60
mov eax, dword [esp + 0xc4]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0xf4]
jmp 0x47b0dc
xor edx, edx
mov dh, dl
mov dword [esp + 4], edx
jmp 0x47b016
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0xd4]
movdqa xmm0, xmmword [esp + 0xa0]
mov ecx, dword [esp + 0x10]
lea eax, [edx + edx*2]
inc edx
movdqu xmmword [esi + eax*8], xmm0
mov dword [esi + eax*8 + 0x10], ecx
mov ah, 1
mov dword [esp + 0x5c], edx
mov dword [esp + 0xc8], edx
mov dword [esp + 4], eax
lea ecx, [esp + 0x38]
lea edx, [esp + 0x150]
call fcn.00476580
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, eax
xor edx, 2
or edx, ecx
je 0x47af28
xor eax, 1
or eax, ecx
jne 0x47b128
movdqu xmm1, xmmword [esp + 0x40]
pshufd xmm0, xmm1, 0x55
pshufd xmm2, xmm1, 0xff
movd ecx, xmm1
movdqa xmmword [esp + 0xa0], xmm1
pshufd xmm1, xmm1, 0xee
movd esi, xmm1
movd eax, xmm0
movd edx, xmm2
cmp ecx, esi
sbb eax, edx
jae 0x47aff1
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0xc0]
jne 0x47afbb
lea ecx, [esp + 0xc0]
call fcn.0046da60
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xd4], eax
jmp 0x47afbb
test byte [esp + 0x14], 1
je 0x47aaa3
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
mov esi, eax
mov edi, ecx
add esi, dword [esp + 0x11c]
adc edi, dword [esp + 0x118]
cmp eax, esi
mov eax, ecx
sbb eax, edi
jae 0x47aa9f
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0xc0]
jne 0x47b0e3
lea ecx, [esp + 0xc0]
call fcn.0046da60
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xd4], eax
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xb4]
lea eax, [edx + edx*2]
inc edx
mov dword [ebx + eax*8 + 4], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x5c], edx
mov dword [ebx + eax*8], ecx
mov dword [ebx + eax*8 + 0xc], edi
mov dword [ebx + eax*8 + 8], esi
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 8]
mov dword [ebx + eax*8 + 0x10], esi
mov dword [esp + 0xc8], edx
jmp 0x47b135
mov edx, dword [esp + 4]
test dh, 1
je 0x47aaa3
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xe0]
cmp ecx, dword [esp + 0xe8]
mov dword [esp + 0x150], eax
mov dword [esp + 0x158], 2
jne 0x47b167
lea ecx, [esp + 0xe8]
call fcn.0046df00
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xec]
movsd xmm0, qword [esp + 0x170]
lea ecx, [edx + edx*4]
inc edx
movsd qword [eax + ecx*8 + 0x20], xmm0
mov dword [esp + 0x10], edx
movsd xmm0, qword [esp + 0x168]
movsd qword [eax + ecx*8 + 0x18], xmm0
movsd xmm0, qword [esp + 0x160]
movsd qword [eax + ecx*8 + 0x10], xmm0
movq xmm0, qword [esp + 0x150]
movq xmm1, qword [esp + 0x158]
movq qword [eax + ecx*8 + 8], xmm1
movq qword [eax + ecx*8], xmm0
mov dword [esp + 0xf0], edx
jmp 0x47aaa3
movzx edx, byte [eax + 3]
mov esi, dword [eax + 4]
mov byte [ebx + 0xb], dl
movzx edx, word [eax + 1]
mov word [ebx + 9], dx
movzx edx, word [eax + 9]
mov word [ebx + 0x11], dx
movzx edx, byte [eax + 0xb]
mov byte [ebx + 0x13], dl
movzx edx, byte [eax + 8]
mov eax, dword [eax + 0xc]
mov byte [ebx + 8], cl
mov dword [ebx + 0xc], esi
mov byte [ebx + 0x10], dl
mov dword [ebx + 0x14], eax
mov eax, 1
jmp 0x47bc79
not eax
mov dword [esp + 0x88], ebx
mov dh, 6
mov dword [esp + 0x8c], eax
jmp 0x47b240
mov ecx, dword [esp + 0x14]
xor eax, eax
mov dh, 0x13
add ecx, dword [esp + 0xc]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], 0
mov ebx, dword [esp + 0x20]
mov byte [esp + 0x40], dh
mov byte [esp + 0x41], dl
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x38], 1
test eax, eax
je 0x47b283
shl eax, 3
lea eax, [eax + eax*2]
push 8
push eax
push dword [esp + 0xcc]
call fcn.0040cd20
add esp, 0xc
mov esi, dword [esp + 0xec]
cmp dword [esp + 0x10], 0
je 0x47b2ec
lea edi, [esi + 0x18]
jmp 0x47b2a9
add edi, 0x28
dec dword [esp + 0x10]
je 0x47b2ec
mov eax, dword [edi - 0x10]
cmp eax, 2
je 0x47b2a0
test eax, eax
jne 0x47b2a0
mov eax, dword [edi - 8]
test eax, eax
je 0x47b2d0
shl eax, 3
lea eax, [eax + eax*4]
push 8
push eax
push dword [edi - 0xc]
call fcn.0040cd20
add esp, 0xc
mov eax, dword [edi]
test eax, eax
je 0x47b2a0
shl eax, 3
lea eax, [eax + eax*2]
push 8
push eax
push dword [edi - 4]
call fcn.0040cd20
add esp, 0xc
jmp 0x47b2a0
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x47b309
shl eax, 3
lea eax, [eax + eax*4]
push 8
push eax
push esi
call fcn.0040cd20
add esp, 0xc
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
cmp dword [eax], 2
jne 0x47b5b9
movsd xmm0, qword [esp + 0x48]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x38]
movq xmm1, qword [esp + 0x40]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
jmp 0x47b5c6
movq xmm0, qword [esp + 0x158]
movq xmm1, qword [esp + 0x160]
movq qword [esp + 0x48], xmm1
movq qword [esp + 0x40], xmm0
jmp 0x47b258
jmp 0x47b220
mov edx, dword [esp + 0x5c]
cmp edx, 2
jb 0x47b49e
mov ecx, dword [esp + 0xc4]
cmp edx, 0x15
jae 0x47b499
lea eax, [edx + edx*2]
lea esi, [ecx + 0x18]
mov edx, ecx
mov dword [esp + 0x18], ecx
lea eax, [ecx + eax*8]
mov dword [esp + 0xa0], eax
xor eax, eax
jmp 0x47b3dc
mov ecx, dword [esp + 0x18]
mov dword [ecx], edi
mov dword [ecx + 4], ebx
mov esi, dword [esp + 4]
movq xmm0, qword [esp + 0x150]
movq xmm1, qword [esp + 0x158]
movq qword [ecx + 8], xmm0
movq qword [ecx + 0x10], xmm1
mov edx, esi
add esi, 0x18
add eax, 0xffffffe8
cmp esi, dword [esp + 0xa0]
je 0x47b49e
mov edi, dword [edx + 0x18]
mov ebx, dword [edx + 0x1c]
cmp edi, dword [edx]
mov ecx, ebx
sbb ecx, dword [edx + 4]
jae 0x47b3c7
movsd xmm0, qword [edx + 0x20]
movsd xmm1, qword [edx + 0x28]
mov edx, eax
mov dword [esp + 4], esi
movsd qword [esp + 0x158], xmm1
movsd qword [esp + 0x150], xmm0
movsd xmm0, qword [esi - 8]
test edx, edx
movsd qword [esi + 0x10], xmm0
movq xmm0, qword [esi - 0x18]
movq xmm1, qword [esi - 0x10]
movq qword [esi + 8], xmm1
movq qword [esi], xmm0
je 0x47b39e
add edx, 0x18
cmp edi, dword [esi - 0x30]
mov ecx, ebx
sbb ecx, dword [esi - 0x2c]
lea ecx, [esi - 0x18]
mov esi, ecx
jb 0x47b40d
jmp 0x47b3a2
mov edi, dword [esp + 8]
jmp 0x47b244
movq xmm1, qword [esp + 0x158]
movq xmm0, qword [esp + 0x151]
movq qword [esp + 0x48], xmm1
movq qword [esp + 0x41], xmm0
mov byte [esp + 0x40], al
jmp 0x47b258
mov eax, dword [esp + 0x100]
jmp 0x47b490
mov al, 0x35
jmp 0x47c4af
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x68], eax
jmp 0x47c4a5
call fcn.00461350
mov eax, dword [esp + 0xe8]
mov edi, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
cmp eax, edi
jbe 0x47b4f3
shl eax, 3
test edi, edi
lea eax, [eax + eax*4]
je 0x47b4fc
lea ecx, [edi*8]
lea esi, [ecx + ecx*4]
push esi
push 8
push eax
push edx
call fcn.0040cd40
add esp, 0x10
test eax, eax
mov dword [esp + 0xa0], eax
jne 0x47b513
push esi
push 8
call fcn.004cf340
add esp, 8
jmp 0x47c351
mov dword [esp + 0xa0], edx
jmp 0x47b513
push 8
push eax
push edx
call fcn.0040cd20
add esp, 0xc
mov dword [esp + 0xa0], 8
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc8]
mov esi, dword [esp + 0xc4]
cmp eax, ebx
jbe 0x47b570
shl eax, 3
test ebx, ebx
lea ecx, [eax + eax*2]
je 0x47b574
lea eax, [ebx*8]
lea eax, [eax + eax*2]
mov dword [esp + 4], eax
push eax
push 8
push ecx
push esi
mov dword [esp + 0x28], ecx
call fcn.0040cd40
add esp, 0x10
test eax, eax
jne 0x47b585
mov ebx, dword [esp + 0x18]
push dword [esp + 4]
push 8
call fcn.004cf340
add esp, 8
jmp 0x47c351
mov eax, esi
jmp 0x47b585
push 8
push ecx
push esi
call fcn.0040cd20
add esp, 0xc
mov eax, 8
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
cmp dword [eax], 2
je 0x47b31a
lea ecx, [esp + 0x38]
call fcn.0045f130
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
test byte [eax], 1
je 0x47b611
movzx ecx, byte [edx + 0x128]
mov edi, dword [edx + 0x12c]
cmp cl, 0x4b
je 0x47b617
mov esi, edx
mov eax, dword [edx + 0x134]
mov edx, dword [edx + 0x130]
mov ch, byte [esi + 0x12b]
mov byte [ebx + 0xb], ch
movzx esi, word [esi + 0x129]
mov word [ebx + 9], si
mov byte [ebx + 8], cl
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], edx
jmp 0x47b201
lea edi, [edx + 0x124]
mov edx, dword [edi + 0xc]
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov ecx, edi
xor edi, edi
test edx, edx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x18], eax
je 0x47b8db
mov eax, dword [ecx + 8]
cmp edx, 1
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
jne 0x47b7dd
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 8]
lea edx, [edi + edi*2]
xor edi, edi
mov esi, ebx
cmp eax, dword [ecx + edx*8]
sbb esi, dword [ecx + edx*8 + 4]
jb 0x47b8db
cmp eax, dword [ecx + edx*8 + 8]
mov esi, ebx
sbb esi, dword [ecx + edx*8 + 0xc]
jae 0x47b8db
mov eax, dword [esp + 0x10]
mov ecx, dword [ecx + edx*8 + 0x10]
mov ebx, dword [esp + 0x20]
mov edx, dword [eax + 4]
cmp ecx, edx
jae 0x47c51f
mov eax, dword [eax]
lea ecx, [ecx + ecx*4]
cmp dword [eax + ecx*8 + 8], 2
lea esi, [eax + ecx*8]
jne 0x47b8a7
mov edi, dword [esp + 0x2c]
mov edx, dword [eax + ecx*8]
mov dword [esp + 0x30], esi
xor ecx, ecx
movzx eax, byte [edi + 0xc9]
mov esi, dword [edi + 0xcc]
mov dword [esp + 0xbc], edx
cmp al, 8
mov byte [esp + 0x84], al
mov eax, dword [edi + 0xc4]
mov dword [esp + 0xc], esi
sete cl
lea esi, [esi + ecx*8 + 4]
sub esi, eax
sub edx, esi
lea esi, [edi + 0xa8]
mov dword [esp + 4], esi
mov esi, dword [edi + 0xf0]
lea edi, [esi + 8]
mov dword [esp + 0x14], esi
jb 0x47b830
mov esi, eax
sub esi, edx
jbe 0x47b830
mov dword [esp + 8], edi
mov edi, dword [esp + 0x2c]
lea ecx, [ecx*8 + 4]
mov edi, dword [edi + 0xc0]
add edx, edi
add eax, edi
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 4]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 8]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp + 0x10], eax
sub edi, ecx
xor ecx, ecx
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x24]
sub edi, dword [esp + 0xc]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], 0
mov dword [esp + 0xc], 0
mov esi, eax
mov edx, dword [edx + 0xc]
mov dword [esp + 0xe0], edx
nop word [eax + eax]
movzx edx, byte [esi + edi]
cmp ecx, 0x3f
jne 0x47b792
cmp dl, 2
jae 0x47b844
mov ebx, edx
mov eax, 0
and bl, 0x7f
movzx esi, bl
xor ebx, ebx
shld ebx, esi, cl
shl esi, cl
test cl, 0x20
cmovne ebx, esi
cmovne esi, eax
mov eax, edx
or dword [esp + 4], ebx
or dword [esp + 8], esi
test al, al
jns 0x47bcd2
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
add ecx, 7
inc edi
jne 0x47b780
mov ecx, eax
mov al, 0x13
mov edi, esi
mov dword [esp + 0x1c], eax
mov eax, ecx
jmp 0x47b84c
xor edi, edi
jmp 0x47b802
mov ebx, dword [esp + 0xa0]
sub edx, esi
cmp edx, 1
jbe 0x47b64a
mov esi, edx
mov dword [esp + 4], edi
mov ebx, dword [esp + 8]
shr esi, 1
lea ecx, [esi + edi]
mov edi, dword [esp + 0x18]
lea eax, [ecx + ecx*2]
cmp edi, dword [ebx + eax*8]
mov edi, dword [esp + 0xa0]
sbb edi, dword [ebx + eax*8 + 4]
mov edi, dword [esp + 4]
jb 0x47b7f0
mov edi, ecx
jmp 0x47b7f0
mov al, 0x38
xor edx, edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x1c], eax
xor eax, eax
jmp 0x47b84c
mov al, 6
mov dword [esp + 0x1c], eax
mov eax, edx
mov esi, dword [esp + 0x30]
cmp dword [esi + 8], 2
jne 0x47b8a7
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xc]
mov ecx, eax
mov eax, 1
mov dword [esp + 8], edi
mov dword [esi + 8], eax
mov dword [esi + 0xc], edi
mov edi, dword [esp + 0x14]
movzx eax, cl
movzx ecx, byte [esp + 0x1c]
shl eax, 8
shl edi, 0x10
or eax, edi
mov edi, dword [esp + 4]
or ecx, eax
mov dword [esi + 0x10], ecx
mov ecx, dword [esp + 8]
mov dword [esi + 0x14], edi
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], ecx
test byte [esi + 8], 1
je 0x47b8cb
movzx eax, byte [esi + 0x10]
mov ecx, ebx
mov edi, dword [esi + 0x14]
mov ebx, dword [esp + 0xa0]
cmp al, 0x4b
jne 0x47bb66
mov eax, dword [esp + 0x18]
jmp 0x47b8db
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
add esi, 0xc
mov edi, esi
mov edx, dword [esp + 0x34]
add eax, 1
mov dword [esp + 0x14], eax
mov eax, ebx
adc eax, 0
mov dword [esp + 0x28], eax
mov eax, dword [edx + 0x10]
xor eax, 0x2f
or eax, dword [edx + 0x14]
jne 0x47b906
mov ecx, edi
mov ebx, 2
jmp 0x47bc51
cmp dword [edx + 0x108], 2
lea esi, [edx + 0x108]
jne 0x47b982
mov eax, dword [esp + 0x34]
lea edx, [eax + 0x10]
lea ebx, [esp + 0x150]
mov ecx, ebx
call fcn.004782d0
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x38]
push dword [esp + 0x58]
push ebx
call fcn.0047cd00
mov edx, dword [esp + 0x3c]
add esp, 8
cmp dword [edx + 0x108], 2
jne 0x47b96e
movsd xmm0, qword [esp + 0x48]
movsd qword [esi + 0x10], xmm0
movq xmm0, qword [esp + 0x38]
movq xmm1, qword [esp + 0x40]
movq qword [esi + 8], xmm1
movq qword [esi], xmm0
jmp 0x47b97b
lea ecx, [esp + 0x38]
call fcn.00460340
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0xa0]
test byte [esi], 1
je 0x47b9a6
movzx eax, byte [edx + 0x110]
mov ecx, dword [edx + 0x114]
cmp eax, 0x4b
jne 0x47ba4a
test ecx, ecx
jne 0x47b9ae
jmp 0x47b8fa
add edx, 0x10c
mov ecx, edx
mov eax, dword [ecx + 8]
mov dword [esp + 4], edi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 0xc]
test eax, eax
mov edx, eax
mov dword [esp + 0x2c], eax
je 0x47baa5
xor ecx, ecx
cmp eax, 1
jne 0x47bb15
mov dword [esp + 8], ecx
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov ebx, dword [ecx + edx*8 + 8]
mov edi, dword [ecx + edx*8 + 0xc]
mov eax, dword [ecx + edx*8 + 0x14]
mov ecx, dword [ecx + edx*8 + 0x10]
mov dword [esp + 0x34], ebx
cmp esi, ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0xc], edi
mov dword [esp + 0x24], eax
mov edx, ebx
sbb edx, edi
mov edi, ebx
setb dh
cmp esi, ecx
sbb edi, eax
setae dl
or dl, dh
je 0x47ba87
cmp esi, ecx
mov ecx, ebx
mov edi, dword [esp + 4]
sbb ecx, dword [esp + 0x24]
setae cl
cmp esi, dword [esp + 0x34]
mov esi, ebx
sbb esi, dword [esp + 0xc]
mov esi, dword [esp + 8]
setae ch
and ch, cl
movzx ecx, ch
add esi, ecx
jmp 0x47ba8f
mov edi, ecx
movzx ecx, byte [edx + 0x113]
mov esi, edx
movzx edx, word [edx + 0x111]
mov ebx, dword [esp + 0x20]
shl edx, 8
shl ecx, 0x18
or ecx, edx
mov edx, dword [esi + 0x11c]
or ecx, eax
mov eax, dword [esi + 0x118]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x10], eax
jmp 0x47b204
mov edi, dword [esp + 4]
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x2c]
test esi, esi
mov ecx, eax
cmove ecx, esi
test dl, dl
mov edx, ecx
mov ecx, dword [esp + 0x58]
cmove edx, esi
xor esi, esi
cmp edx, eax
jae 0x47bbba
lea eax, [edx + edx*2]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x10]
mov esi, dword [edx + eax*8 + 4]
mov edx, dword [esp + 0x24]
test esi, esi
je 0x47bbb8
mov edx, dword [esp + 0x10]
mov eax, dword [edx + eax*8]
mov dword [esp + 0x34], eax
xor eax, eax
cmp esi, 1
jne 0x47bc83
mov ecx, dword [esp + 0x34]
mov esi, eax
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 + 4]
mov edi, dword [ecx + eax*8]
mov eax, edx
mov ecx, edi
xor eax, ebx
mov ebx, dword [esp + 0x18]
xor ecx, ebx
or ecx, eax
jne 0x47bb9b
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x24]
jmp 0x47bbba
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
xor ecx, ecx
jmp 0x47bb3b
sub edx, esi
cmp edx, 1
jbe 0x47b9d9
mov esi, edx
mov dword [esp + 8], ecx
shr esi, 1
lea ebx, [esi + ecx]
mov ecx, dword [esp + 0x18]
lea edi, [ebx + ebx*2]
cmp ecx, dword [eax + edi*8 + 8]
mov ecx, dword [esp + 0xa0]
sbb ecx, dword [eax + edi*8 + 0xc]
mov ecx, dword [esp + 8]
jb 0x47bb30
mov ecx, ebx
jmp 0x47bb30
mov edx, dword [esi + 0x1c]
mov ah, byte [esi + 0x13]
mov ebx, ecx
mov dword [esp + 0xa0], edx
mov edx, dword [esi + 0x18]
mov byte [ecx + 0xb], ah
movzx esi, word [esi + 0x11]
mov word [ecx + 9], si
mov byte [ecx + 8], al
mov dword [ecx + 0xc], edi
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0xa0]
mov dword [ecx + 0x14], edx
jmp 0x47b204
cmp edi, ebx
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0x58]
sbb edx, dword [esp + 0xa0]
mov edx, dword [esp + 0x24]
adc esi, 0
sub esi, 1
jae 0x47bbba
xor esi, esi
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], esi
lea eax, [esp + 0x38]
lea ecx, [esp + 0x150]
push eax
push ecx
call fcn.004b8fe0
add esp, 8
mov ebx, dword [esp + 0x160]
cmp ebx, 2
jne 0x47bc09
jmp 0x47bc38
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0xa0], eax
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
mov ecx, edi
mov edi, dword [esp + 0x20]
mov dword [edi + 4], ecx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0xa0]
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], esi
mov ebx, edi
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 0x1c], eax
xor eax, eax
mov dword [ebx], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
jmp 0x47bca2
mov ebx, dword [esp + 0xa0]
sub esi, edx
cmp esi, 1
jbe 0x47bae0
mov edx, esi
mov dword [esp + 8], eax
mov edi, dword [esp + 0x18]
shr edx, 1
add eax, edx
mov dword [esp + 0xc], eax
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x34]
cmp edi, dword [eax + ecx*8]
mov edi, ebx
mov ebx, dword [esp + 8]
sbb edi, dword [eax + ecx*8 + 4]
mov eax, ebx
jb 0x47bc90
mov eax, dword [esp + 0xc]
jmp 0x47bc90
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x10]
or esi, dword [esp + 4]
lea ecx, [edi + ecx + 1]
not edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edi
je 0x47c52b
cmp dword [esp + 4], 0
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
jne 0x47bd1e
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
mov eax, edx
cmp ecx, dword [edi + 0x10]
jae 0x47bd1e
imul eax, ecx, 0x68
add eax, dword [edi + 0xc]
jmp 0x47bdec
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x28], eax
mov al, 0x12
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x47c004
mov eax, dword [edi + 0x18]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
movzx ecx, word [ecx + 0x4d6]
mov edi, 0xffffffff
xor ebx, ebx
mov dword [esp + 0x5c], ecx
imul ecx, ecx, 0x68
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
add ecx, ebx
je 0x47bdbd
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 8]
xor ecx, ecx
mov esi, dword [eax + edi*8 + 8]
mov eax, dword [eax + edi*8 + 0xc]
mov dword [esp + 0x10], eax
xor eax, dword [esp + 4]
mov dword [esp + 0xc], esi
xor esi, edx
or esi, eax
mov eax, dword [esp + 4]
setne cl
cmp edx, dword [esp + 0xc]
mov edx, 0xff
sbb eax, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
cmovb ecx, edx
inc edi
add ebx, 0xffffff98
cmp cl, 1
je 0x47bd5e
movzx eax, cl
test eax, eax
je 0x47bde3
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
jmp 0x47bdc5
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
sub dword [esp + 0xd0], 1
jb 0x47c411
mov ecx, dword [ecx + edi*4 + 0x4d8]
jmp 0x47bd41
mov eax, dword [esp + 0x14]
sub eax, ebx
add eax, 0xfffffff0
cmp byte [eax + 0x62], 1
jne 0x47bdfa
mov dword [esp + 0x48], 1
push eax
call fcn.004bad60
add esp, 4
movzx ecx, byte [esp + 0xe4]
mov ebx, dword [esp + 0x20]
mov edi, eax
test edx, edx
mov dword [esp + 0x14], ecx
je 0x47c00d
mov eax, dword [esp + 0x2c]
shl edx, 4
mov dword [esp + 0x10], 0
mov dword [esp + 4], edx
mov eax, dword [eax + 0xf4]
mov dword [esp + 8], eax
movzx eax, byte [esp + 0x84]
mov dword [esp + 0xc], eax
jmp 0x47be6f
cmp eax, 3
je 0x47bf3b
cmp eax, 0x31
jne 0x47be61
cmp dword [esp + 0x10], 0
je 0x47bf99
add edi, 0x10
add dword [esp + 4], 0xfffffff0
je 0x47c015
movq xmm0, qword [edi]
movq xmm1, qword [edi + 8]
mov eax, dword [esp + 0x40]
movq qword [esp + 0x90], xmm1
movq qword [esp + 0x88], xmm0
lea esi, [esp + 0x88]
lea ecx, [esp + 0x150]
lea edx, [esp + 0x38]
push esi
push dword [eax + 0x20]
call fcn.0046f990
add esp, 8
mov eax, dword [esp + 0x150]
xor eax, 0x2e
or eax, dword [esp + 0x154]
je 0x47c267
movzx eax, word [esp + 0x160]
cmp eax, 0x46
jle 0x47be48
cmp eax, 0x47
je 0x47be56
cmp eax, 0x6e
je 0x47beed
cmp eax, 0x2007
jne 0x47be61
lea esi, [esp + 0x88]
lea edx, [esp + 0x150]
mov ecx, esi
call fcn.00471a70
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x70]
push esi
push dword [esp + 0xc]
push dword [esp + 0x14]
call fcn.00475b70
add esp, 0xc
cmp byte [esp + 0x70], 0x4b
jne 0x47be61
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], ecx
jmp 0x47be61
cmp dword [esp + 0x10], 0
jne 0x47be61
lea esi, [esp + 0x88]
lea edx, [esp + 0x150]
mov ecx, esi
call fcn.00471a70
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x70]
push esi
push dword [esp + 0xc]
push dword [esp + 0x14]
call fcn.00475b70
add esp, 0xc
cmp byte [esp + 0x70], 0x4b
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], 0
jne 0x47bf93
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], eax
jmp 0x47bffb
lea ecx, [esp + 0x88]
lea edx, [esp + 0x150]
call fcn.00471a70
mov edx, dword [esp + 0x88]
lea ecx, [esp + 0x70]
push 0x10
push dword [esp + 0x5c]
push dword [esp + 0xe8]
push dword [esp + 0x38]
push dword [esp + 0x24]
push dword [esp + 0xa4]
push dword [esp + 0xa4]
call fcn.004809f0
add esp, 0x1c
movzx eax, byte [esp + 0x70]
cmp al, 0x4b
jne 0x47c41e
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], eax
jmp 0x47be61
mov eax, dword [esp + 0x28]
jmp 0x47b850
mov dword [esp + 0x10], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 8
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 8
mov dword [esp + 0x78], 0
mov dword [esp + 0x90], 0
lea eax, [esp + 0x88]
lea esi, [esp + 0x70]
lea edx, [esp + 0x38]
lea ecx, [esp + 0x150]
push 0
push eax
push esi
push dword [esp + 0x64]
push dword [esp + 0xf0]
push dword [esp + 0x40]
push dword [esp + 0x2c]
push 0
call fcn.0047f400
add esp, 0x20
mov esi, dword [esp + 0x30]
movzx eax, byte [esp + 0x150]
cmp al, 0x4b
mov dword [esp + 0x1c], eax
jne 0x47c1d9
mov edx, dword [esp + 0x90]
cmp edx, 2
jb 0x47c2a0
mov ecx, dword [esp + 0x8c]
cmp edx, 0x15
jae 0x47c29b
lea eax, [edx + edx*2]
mov esi, ecx
mov dword [esp + 0x14], 0
lea edx, [ecx + eax*8]
lea eax, [ecx + 0x18]
mov dword [esp + 0xe4], edx
jmp 0x47c11b
mov esi, ecx
mov edx, dword [esp + 0xe4]
mov eax, dword [esp + 4]
mov edi, dword [esp + 0x24]
mov dword [esi], eax
mov eax, dword [esp + 8]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], edi
mov esi, dword [esp + 0xc]
add dword [esp + 0x14], 0x18
lea eax, [esi + 0x18]
cmp eax, edx
je 0x47c2a0
mov edi, dword [esi + 0x18]
mov dword [esp + 0xc], eax
mov ebx, dword [esi + 0x28]
mov eax, dword [esi + 0x10]
mov dword [esp + 4], edi
mov edi, dword [esi + 0x1c]
cmp ebx, eax
mov dword [esp + 8], edi
jb 0x47c148
ja 0x47c107
mov eax, dword [esp + 4]
mov edi, dword [esp + 8]
cmp eax, dword [esi]
sbb edi, dword [esi + 4]
jae 0x47c107
mov eax, dword [esi + 0x24]
movsd xmm1, qword [esi + 8]
mov edi, dword [esp + 0xc]
movq xmm0, qword [esi]
cmp esi, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x2c]
movsd qword [edi + 8], xmm1
movq xmm1, qword [esi + 0x10]
mov esi, ecx
movq qword [edi], xmm0
mov dword [esp + 0x24], eax
movq qword [edi + 0x10], xmm1
je 0x47c0e2
mov edx, dword [esp + 0x14]
jmp 0x47c1b2
movsd xmm0, qword [eax + 0x10]
add edx, 0xffffffe8
movsd qword [esi + 0x10], xmm0
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
movq qword [esi + 8], xmm1
movq qword [esi], xmm0
je 0x47c0d9
cmp ebx, dword [ecx + edx - 8]
lea esi, [ecx + edx]
lea eax, [ecx + edx - 0x18]
jb 0x47c18d
ja 0x47c0db
mov edi, dword [esp + 4]
cmp edi, dword [eax]
mov edi, dword [esp + 8]
sbb edi, dword [eax + 4]
jb 0x47c18d
jmp 0x47c0db
movzx eax, byte [esp + 0x151]
mov ecx, dword [esp + 0x15c]
movzx edx, word [esp + 0x152]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
test eax, eax
je 0x47c235
shl eax, 3
lea eax, [eax + eax*2]
push 8
push eax
push dword [esp + 0x94]
mov ebx, edx
call fcn.0040cd20
mov edx, ebx
add esp, 0xc
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x20]
test eax, eax
je 0x47c25a
shl eax, 3
lea eax, [eax + eax*4]
push 8
push eax
push dword [esp + 0x7c]
mov edi, edx
call fcn.0040cd20
mov edx, edi
add esp, 0xc
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 8]
jmp 0x47b850
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x15c]
mov esi, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov edx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 4], ecx
mov dword [esp + 0xc], esi
mov al, ah
shr edx, 0x10
jmp 0x47b84c
call fcn.00461550
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
cmp eax, ecx
mov dword [esp + 0x1c], ecx
jbe 0x47c2ea
shl eax, 3
test ecx, ecx
lea esi, [eax + eax*4]
je 0x47c2f0
lea eax, [ecx*8]
lea ebx, [eax + eax*4]
push ebx
push 8
push esi
push edi
call fcn.0040cd40
add esp, 0x10
test eax, eax
mov dword [esp + 0xc], eax
jne 0x47c304
push ebx
push 8
call fcn.004cf340
add esp, 8
jmp 0x47c351
mov dword [esp + 0xc], edi
jmp 0x47c304
push 8
push esi
push edi
call fcn.0040cd20
add esp, 0xc
mov dword [esp + 0xc], 8
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
cmp eax, ecx
mov dword [esp + 8], ecx
jbe 0x47c353
shl eax, 3
test ecx, ecx
lea esi, [eax + eax*2]
je 0x47c357
lea eax, [ecx*8]
lea ebx, [eax + eax*2]
push ebx
push 8
push esi
push edi
call fcn.0040cd40
add esp, 0x10
test eax, eax
jne 0x47c368
push ebx
push 8
call fcn.004cf340
add esp, 8
ud2
mov eax, edi
jmp 0x47c368
push 8
push esi
push edi
call fcn.0040cd20
add esp, 0xc
mov eax, 8
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
cmp dword [esi + 8], 2
jne 0x47c39b
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0xbc]
mov edi, dword [esp + 0xc]
mov eax, ecx
mov cl, ch
shr eax, 0x10
mov dword [esp + 0x14], eax
xor eax, eax
jmp 0x47b869
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
test eax, eax
je 0x47c3bc
shl eax, 3
lea eax, [eax + eax*4]
push 8
push eax
push dword [esp + 0x14]
call fcn.0040cd20
add esp, 0xc
mov eax, dword [esp + 8]
test eax, eax
je 0x47b8a7
shl eax, 3
lea eax, [eax + eax*2]
push 8
push eax
push dword [esp + 0xc]
call fcn.0040cd20
add esp, 0xc
jmp 0x47b8a7
mov eax, dword [esp + 0x124]
mov cl, 0x13
jmp 0x47c450
mov cl, 0x35
jmp 0x47c450
mov eax, dword [esp + 0x110]
mov cl, 0x13
jmp 0x47c457
mov edx, eax
mov cl, 0x13
and edx, 0xffffff00
jmp 0x47c44b
mov dword [esp + 0xc], 0
jmp 0x47b84c
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 0x71]
movzx edx, word [esp + 0x72]
mov edi, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], esi
jmp 0x47b84c
xor edx, edx
mov cl, 0x35
xor eax, eax
movzx eax, al
or eax, edx
mov edx, dword [esp + 0xd8]
mov byte [esp + 0x40], cl
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0
jmp 0x47b258
mov eax, dword [esp + 0x84]
mov byte [esp + 0x61], al
mov al, 0x17
jmp 0x47c4af
mov al, 0x13
mov dword [esp + 0x6c], 0
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x61]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x44], edx
mov dword [esp + 0x41], ecx
mov ecx, dword [esp + 0x68]
mov byte [esp + 0x40], al
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], ecx
jmp 0x47b258
xor ecx, ecx
mov dl, 0x13
xor esi, esi
mov dh, cl
jmp 0x47c4fa
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
mov esi, edx
shr esi, 0x10
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x48]
mov byte [esp + 0x40], dl
mov byte [esp + 0x41], dh
mov word [esp + 0x42], si
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
jmp 0x47b258
push 0x584ba8
push edx
push ecx
call fcn.004dac50
push 0x584bf4
call fcn.004da950
jmp 0x47c633
push dword [esp + 4]
call fcn.004f46e0
mov dword [esp + 4], eax
lea ecx, [esp + 0xe8]
call fcn.0045f2a0
xor ebx, ebx
jmp 0x47c639
mov dword [esp + 4], eax
mov bl, 1
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x47c65c
shl eax, 3
lea eax, [eax + eax*2]
push 8
push eax
push dword [esp + 0xcc]
call fcn.0040cd20
add esp, 0xc
test bl, bl
je 0x47c616
lea ecx, [esp + 0xe8]
call fcn.0045f2a0
push dword [esp + 4]
call fcn.004f46e0
nop dword [eax]
test dword [esi], eax
add byte [eax], al
call 0x6547c688
push ds
add byte [eax], al
push es
or byte [eax], al
add byte [ebp + 0x1e], ah
add byte [eax], al
push ds
add byte [eax], al
push ds
add byte [eax], al
test byte [edi], 0
add byte [edi], dl
pop es
add byte [eax], al
cwde
pop es
add byte [eax], al
push ds
add byte [eax], al
rol byte [edi], 0
add byte [ebp + 0x1e], ah
add byte [eax], al
push ds
add byte [eax], al
push ds
add byte [eax], al
cmpsb byte [esi], byte es:[edi]
pop es
add byte [eax], al
nop dword [eax + eax]