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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x120
lea esi, [edx + 0xc]
mov dword [esp + 0x9c], ecx
call 0x54dd4e
pop eax
lea ecx, [edx + 0x18]
mov edi, edx
mov dword [esp + 0x14], esi
mov esi, 0x800013
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], ecx
jmp 0x54dd7a
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax], bh
inc eax
mov dword [edi + 0x14], eax
cmp byte [edi + 0x3c], 0
je 0x54dda0
mov bh, byte [edi + 0x3d]
movzx eax, bh
lea ecx, [eax - 9]
cmp ecx, 0x17
jbe 0x54de08
jmp 0x54de4b
mov eax, dword [edi + 0x20]
cmp dword [edi + 0x24], eax
jne 0x54ddd6
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x44]
call fcn.0053d7f0
movzx eax, byte [esp + 0x44]
cmp eax, 4
je 0x54de3c
cmp eax, 5
je 0x54e6d9
mov ebx, dword [esp + 0x44]
cmp bl, 4
je 0x54ddf6
jmp 0x54e6cd
mov ecx, dword [edi + 0x18]
mov bh, byte [ecx + eax]
inc eax
mov dword [edi + 0x20], eax
mov eax, dword [edi + 0x34]
inc eax
cmp bh, 0xa
jne 0x54ddf3
add dword [edi + 0x38], eax
inc dword [edi + 0x30]
mov bh, 0xa
xor eax, eax
mov dword [edi + 0x34], eax
mov byte [edi + 0x3c], 1
mov byte [edi + 0x3d], bh
movzx eax, bh
lea ecx, [eax - 9]
cmp ecx, 0x17
ja 0x54de4b
bt esi, ecx
jae 0x54de4b
mov byte [edi + 0x3c], 0
mov edx, dword [edi + 0xc]
cmp edx, 0x80000000
je 0x54dd7a
mov eax, dword [edi + 0x14]
cmp eax, edx
jne 0x54dd70
mov ecx, dword [esp + 0x14]
call fcn.00437650
mov eax, dword [edi + 0x14]
jmp 0x54dd70
mov bh, byte [esp + 0x45]
mov eax, dword [edi + 0x34]
inc eax
cmp bh, 0xa
je 0x54dde9
jmp 0x54ddf3
cmp bh, 0x5b
je 0x54e3e4
cmp eax, 0x7b
jne 0x54e7e5
dec byte [edi + 0x40]
je 0x54e687
mov byte [edi + 0x3c], 0
mov edx, dword [edi + 0xc]
cmp edx, 0x80000000
je 0x54de93
mov eax, dword [edi + 0x14]
cmp eax, edx
jne 0x54de88
mov ecx, dword [esp + 0x14]
call fcn.00437650
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax], 0x7b
inc eax
mov dword [edi + 0x14], eax
mov al, 1
mov dl, 2
mov ebx, 0x80000000
mov esi, 0x800013
mov ecx, 0x80000001
mov dword [esp + 0x20], 0
mov dword [esp + 0xc0], 0x80000001
mov dword [esp + 0x84], 0x80000001
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 8], ecx
mov byte [esp + 0x10], dl
mov dword [esp + 0x30], ebx
mov byte [esp + 0x1c], al
jmp 0x54deea
cmp byte [edi + 0x3c], 0
je 0x54df10
mov bh, byte [edi + 0x3d]
movzx edx, byte [esp + 0x10]
movzx eax, bh
lea ecx, [eax - 9]
cmp ecx, 0x23
jbe 0x54df88
jmp 0x54dfd0
mov eax, dword [edi + 0x20]
cmp dword [edi + 0x24], eax
jne 0x54df4b
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x44]
call fcn.0053d7f0
movzx eax, byte [esp + 0x44]
cmp eax, 4
je 0x54df57
movzx edx, byte [esp + 0x10]
cmp eax, 5
je 0x54e86c
mov ebx, dword [esp + 0x44]
cmp bl, 4
je 0x54df76
jmp 0x54e860
mov ecx, dword [edi + 0x18]
mov bh, byte [ecx + eax]
inc eax
mov dword [edi + 0x20], eax
jmp 0x54df5b
mov bh, byte [esp + 0x45]
mov eax, dword [edi + 0x34]
movzx edx, byte [esp + 0x10]
inc eax
cmp bh, 0xa
jne 0x54df73
add dword [edi + 0x38], eax
inc dword [edi + 0x30]
mov bh, 0xa
xor eax, eax
mov dword [edi + 0x34], eax
mov byte [edi + 0x3c], 1
mov byte [edi + 0x3d], bh
movzx eax, bh
lea ecx, [eax - 9]
cmp ecx, 0x23
ja 0x54dfd0
mov eax, dword [ecx*4 + 0x54f228]
add eax, dword [esp + 0xc]
jmp eax
cmp eax, 0x7d
je 0x54e56b
test byte [esp + 0x1c], 1
jne 0x54efa2
cmp bh, 0x22
jne 0x54ef02
mov byte [edi + 0x3c], 0
mov ebx, dword [esp + 0x30]
mov edx, dword [edi + 0xc]
cmp edx, 0x80000000
je 0x54e01e
mov eax, dword [edi + 0x14]
cmp eax, edx
jne 0x54e013
mov ecx, dword [esp + 0x14]
call fcn.00437650
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax], 0x22
inc eax
mov dword [edi + 0x14], eax
mov edx, dword [esp + 0x14]
mov dword [edi + 8], 0
lea ecx, [esp + 0x44]
push edi
call fcn.0053c9d0
add esp, 4
mov edx, dword [esp + 0x48]
cmp dword [esp + 0x44], 2
je 0x54e99e
lea ecx, [esp + 0x88]
push dword [esp + 0x4c]
call fcn.0054c460
add esp, 4
cmp byte [esp + 0x88], 0
jne 0x54e831
movzx eax, byte [esp + 0x89]
cmp eax, 5
jbe 0x54e0dd
mov ecx, edi
call fcn.00406d60
test eax, eax
jne 0x54e99c
mov ecx, edi
call fcn.004018e0
mov edx, eax
mov al, 1
test edx, edx
je 0x54deda
jmp 0x54e99e
mov eax, dword [eax*4 + 0x54f2b8]
add eax, dword [esp + 0xc]
jmp eax
dec byte [edi + 0x40]
je 0x54e687
mov byte [edi + 0x3c], 0
mov edx, dword [edi + 0xc]
cmp edx, 0x80000000
je 0x54e41a
mov eax, dword [edi + 0x14]
cmp eax, edx
jne 0x54e40f
mov ecx, dword [esp + 0x14]
call fcn.00437650
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax], 0x5b
inc eax
mov dword [edi + 0x14], eax
lea ecx, [esp + 0x44]
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edi
mov byte [esp + 0x98], 1
call fcn.004137f0
mov eax, dword [esp + 0x44]
cmp eax, 0x80000002
mov dword [esp + 0x18], eax
je 0x54e5f4
cmp eax, 0x80000001
je 0x54ec8e
mov esi, dword [esp + 0x94]
movsd xmm0, qword [esp + 0x48]
lea eax, [esi + 0xc]
lea ecx, [esi + 0x18]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
jmp 0x54e48a
cmp byte [esi + 0x3c], 0
je 0x54e4b0
mov bh, byte [esi + 0x3d]
movzx eax, bh
lea ecx, [eax - 9]
cmp ecx, 0x23
jbe 0x54e520
jmp 0x54e601
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x24], eax
jne 0x54e4ea
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x44]
call fcn.0053d7f0
movzx eax, byte [esp + 0x44]
cmp eax, 4
je 0x54e55c
cmp eax, 5
je 0x54eef5
mov ebx, dword [esp + 0x44]
cmp bl, 4
je 0x54e50a
jmp 0x54eee9
mov ecx, dword [esi + 0x18]
mov bh, byte [ecx + eax]
inc eax
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x34]
inc eax
cmp bh, 0xa
jne 0x54e507
add dword [esi + 0x38], eax
inc dword [esi + 0x30]
mov bh, 0xa
xor eax, eax
mov dword [esi + 0x34], eax
mov byte [esi + 0x3c], 1
mov byte [esi + 0x3d], bh
movzx eax, bh
lea ecx, [eax - 9]
cmp ecx, 0x23
ja 0x54e601
mov eax, dword [ecx*4 + 0x54f2d0]
add eax, dword [esp + 0xc]
jmp eax
mov bh, byte [esp + 0x45]
mov eax, dword [esi + 0x34]
inc eax
cmp bh, 0xa
je 0x54e4fd
jmp 0x54e507
mov ecx, dword [esp + 0x84]
mov esi, 0x80000000
cmp ecx, 0x80000001
setne al
cmovne esi, ecx
mov dword [esp + 0x28], eax
xor eax, eax
test byte [esp + 0x2c], 1
mov dword [esp + 0x14], esi
cmovne eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 8]
cmp eax, 0x80000001
setne bl
mov dword [esp + 0x90], ebx
mov ebx, 0x80000000
cmovne ebx, eax
mov eax, 0x80000000
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0xc0]
cmp ebx, 0x80000001
cmovne eax, ebx
cmp dword [esp + 0x30], 0x80000000
mov dword [esp + 0x1c], eax
je 0x54e879
mov ebx, dword [esp + 0xb0]
and dl, 1
mov byte [esp + 0x10], dl
jmp 0x54eab1
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
jmp 0x54ed3a
cmp eax, 0x5d
jne 0x54e60d
xor ebx, ebx
jmp 0x54e696
cmp byte [esp + 0x98], 0
jne 0x54e653
mov dword [esp + 0x44], 7
lea ecx, [esp + 0x44]
mov edx, dword [esi + 0x30]
push dword [esi + 0x34]
call fcn.00486e00
movaps xmm0, xmmword [esp + 0x34]
add esp, 4
mov esi, dword [esp + 0x18]
mov dword [esp + 0xc], eax
jmp 0x54ed14
mov byte [esp + 0x98], 0
cmp bh, 0x5d
je 0x54ecab
lea ecx, [esp + 0x44]
mov edx, esi
call fcn.0052c490
cmp byte [esp + 0x44], 0
je 0x54e691
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x18]
mov dword [esp + 0xc], eax
jmp 0x54ed0f
mov dword [esp + 0x44], 0x15
jmp 0x54e6e1
movzx ebx, byte [esp + 0x45]
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x44]
lea edx, [esp + 0x94]
call fcn.004141f0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x54e6f5
cmp eax, 1
jne 0x54e7b6
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], ecx
jmp 0x54e6fd
movzx eax, bl
cmp eax, 5
jne 0x54e83d
mov dword [esp + 0x44], 5
mov edx, dword [edi + 0x30]
lea ecx, [esp + 0x44]
push dword [edi + 0x34]
call fcn.00486e00
jmp 0x54eed4
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x44]
lea edx, [esp + 0x94]
call fcn.004137f0
mov eax, dword [esp + 0x44]
cmp eax, 0x80000002
je 0x54e7c3
cmp eax, 0x80000001
je 0x54ef6a
movsd xmm0, qword [esp + 0x48]
lea ecx, [esp + 0x44]
lea edx, [esp + 0x94]
mov dword [esp + 8], eax
movaps xmmword [esp + 0xb0], xmm0
call fcn.004137f0
mov eax, dword [esp + 0x44]
cmp eax, 0x80000002
je 0x54ec2f
cmp eax, 0x80000001
je 0x54ef86
movsd xmm0, qword [esp + 0x48]
lea ecx, [esp + 0x44]
lea edx, [esp + 0x94]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], ebx
movaps xmmword [esp + 0xc0], xmm0
call fcn.00415500
mov ebx, dword [esp + 0x44]
cmp ebx, 0x80000001
je 0x54ecb8
cmp ebx, 0x80000000
je 0x54f04c
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
jmp 0x54ed43
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
jmp 0x54ed0f
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
movaps xmm0, xmmword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x54ecfd
jmp 0x54ed14
lea edx, [esp + 0x44]
mov ecx, edi
push 0x5749cc
call fcn.004063e0
add esp, 4
mov esi, eax
jmp 0x54eec7
mov edx, dword [esp + 0x8c]
jmp 0x54e99e
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xe8]
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], eax
call fcn.00486e60
jmp 0x54eed7
movzx eax, bl
cmp eax, 5
jne 0x54e97a
mov dword [esp + 0x44], 3
jmp 0x54e966
mov dword [esp + 0x84], ecx
mov ecx, 0x58664b
mov edx, 7
call fcn.0053c7d0
test dword [esp + 0x1c], 0x7fffffff
mov edx, eax
mov dword [esp + 0x10], eax
je 0x54e8b7
push dword [esp + 0xa8]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 0x10]
test dword [esp + 0x18], 0x7fffffff
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 8]
je 0x54e8ed
push dword [esp + 0xa4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x24]
cmp dword [esp + 0xc], 0
je 0x54e91b
cmp dword [esp + 0xac], 0
je 0x54e91b
push dword [esp + 0xc]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x24]
test dword [esp + 0x14], 0x7fffffff
je 0x54e945
push dword [esp + 0xa0]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x24]
cmp ebx, 0x80000001
je 0x54e9f4
jmp 0x54ea28
mov edx, dword [edi + 0x30]
lea ecx, [esp + 0x44]
push dword [edi + 0x34]
call fcn.00486e00
add esp, 4
jmp 0x54e998
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x88]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], eax
call fcn.00486e60
mov ebx, dword [esp + 0x30]
mov edx, eax
mov ecx, dword [esp + 8]
cmp ebx, 0x80000000
je 0x54e9ca
test ebx, ebx
je 0x54e9ca
push dword [esp + 0xb0]
push 0
push dword [0x5970d8]
mov ebx, ecx
mov esi, edx
call sub.KERNEL32.dll_HeapFree
mov edx, esi
mov ecx, ebx
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x90], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
cmp ebx, 0x80000002
jl 0x54ea28
test ebx, ebx
je 0x54ea28
push dword [esp + 0xa8]
push 0
push dword [0x5970d8]
mov dword [esp + 0x2c], esi
mov ebx, ecx
mov esi, edx
call sub.KERNEL32.dll_HeapFree
mov edx, esi
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, ebx
cmp byte [esp + 0x90], 0
mov ebx, dword [esp + 0x28]
jne 0x54ea66
cmp ecx, 0x80000002
jl 0x54ea66
test ecx, ecx
je 0x54ea66
push dword [esp + 0xa4]
push 0
push dword [0x5970d8]
mov dword [esp + 0x2c], esi
mov esi, edx
call sub.KERNEL32.dll_HeapFree
mov edx, esi
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
test esi, esi
je 0x54ea91
test byte [esp + 0x2c], 1
jne 0x54ea91
test eax, eax
je 0x54ea91
cmp dword [esp + 0xac], 0
je 0x54ea91
push eax
push 0
push dword [0x5970d8]
mov esi, edx
call sub.KERNEL32.dll_HeapFree
mov edx, esi
test bl, bl
jne 0x54eaa7
mov eax, dword [esp + 0x84]
cmp eax, 0x80000002
jge 0x54ec03
mov dword [esp + 0x30], 0x80000000
mov ebx, edx
inc byte [edi + 0x40]
mov ecx, edi
call fcn.00407ad0
mov ecx, dword [esp + 0x30]
mov esi, eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xb0], ebx
movzx edx, byte [esp + 0x10]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0xac]
cmp ecx, 0x80000000
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebx
mov byte [esp + 0x7c], dl
mov dword [esp + 0x80], esi
jne 0x54eb80
mov ebx, 0x80000000
test esi, esi
je 0x54ebf7
mov ecx, esi
call fcn.0040a630
mov esi, dword [esp + 0xb0]
jmp 0x54ee4d
test esi, esi
jne 0x54edd8
lea eax, [esp + 0x4c]
mov ebx, ecx
mov esi, dword [esp + 0xb0]
movsd xmm1, qword [eax + 0x20]
movsd xmm2, qword [eax + 0x18]
mov ecx, dword [eax + 0x30]
movsd xmm0, qword [eax + 0x28]
movsd qword [esp + 0x108], xmm1
movsd xmm1, qword [eax + 0x10]
movsd qword [esp + 0x100], xmm2
movsd xmm2, qword [eax]
mov dword [esp + 0x118], ecx
movsd qword [esp + 0x110], xmm0
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0xe8], xmm2
movsd qword [esp + 0xf0], xmm1
jmp 0x54ee4d
mov esi, dword [esp + 0xb0]
jmp 0x54ee4d
test eax, eax
mov dword [esp + 0x30], 0x80000000
jne 0x54ec14
jmp 0x54eaaf
push dword [esp + 0xa0]
push 0
push dword [0x5970d8]
mov ebx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x54eab1
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
movaps xmm0, xmmword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
movaps xmm1, xmmword [esp + 0xb0]
test dword [esp + 8], 0x7fffffff
je 0x54ecf9
mov eax, dword [0x5970d8]
sub esp, 0xc
movss dword [esp + 8], xmm1
mov dword [esp], eax
mov dword [esp + 4], 0
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
movaps xmm0, xmmword [esp + 0x30]
test ecx, ecx
jne 0x54ecfd
jmp 0x54ed14
xor ecx, ecx
mov edx, 0x57436c
push 0x5742d4
call fcn.0053c820
add esp, 4
mov dword [esp + 0xc], eax
jmp 0x54ed3a
mov dword [esp + 0x44], 0x12
jmp 0x54f1ec
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
test dword [esp + 0x2c], 0x7fffffff
movaps xmm0, xmmword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
movaps xmm1, xmmword [esp + 0xb0]
movaps xmm2, xmmword [esp + 0xc0]
jne 0x54ef17
test dword [esp + 8], 0x7fffffff
jne 0x54ec5a
test ecx, ecx
je 0x54ed14
test eax, eax
je 0x54ed14
push ecx
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
movaps xmm0, xmmword [esp + 0x30]
test esi, 0x7fffffff
je 0x54ed3a
mov eax, dword [0x5970d8]
sub esp, 0xc
movss dword [esp + 8], xmm0
mov dword [esp], eax
mov dword [esp + 4], 0
call sub.KERNEL32.dll_HeapFree
mov ebx, 0x80000000
mov dword [esp + 0x14], eax
inc byte [edi + 0x40]
mov ecx, edi
call fcn.00407ec0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x44], ebx
movaps xmm0, xmmword [esp + 0x30]
cmp ebx, 0x80000000
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], esi
mov esi, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 8]
movlps qword [esp + 0x54], xmm0
movaps xmm0, xmmword [esp + 0xb0]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x2c]
movlps qword [esp + 0x60], xmm0
movaps xmm0, xmmword [esp + 0xc0]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x10]
movlps qword [esp + 0x6c], xmm0
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x14]
mov byte [esp + 0x7c], al
mov dword [esp + 0x80], esi
jne 0x54edd4
test esi, esi
mov ebx, 0x80000000
je 0x54ee49
mov ecx, esi
call fcn.0040a630
jmp 0x54ee49
test esi, esi
je 0x54ede8
lea ecx, [esp + 0x44]
call fcn.0040a590
mov ebx, 0x80000000
jmp 0x54ee4d
lea eax, [esp + 0x4c]
movsd xmm1, qword [eax + 0x20]
movsd xmm2, qword [eax + 0x18]
mov ecx, dword [eax + 0x30]
movsd xmm0, qword [eax + 0x28]
movsd qword [esp + 0x108], xmm1
movsd xmm1, qword [eax + 0x10]
movsd qword [esp + 0x100], xmm2
movsd xmm2, qword [eax]
mov dword [esp + 0x118], ecx
movsd qword [esp + 0x110], xmm0
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0xe8], xmm2
movsd qword [esp + 0xf0], xmm1
mov esi, dword [esp + 0xc]
cmp ebx, 0x80000000
je 0x54eec7
mov ecx, dword [esp + 0x9c]
movsd xmm1, qword [esp + 0x108]
movsd xmm2, qword [esp + 0x100]
mov eax, dword [esp + 0x118]
movsd xmm0, qword [esp + 0x110]
movsd qword [ecx + 0x28], xmm1
movsd xmm1, qword [esp + 0xf8]
movsd qword [ecx + 0x20], xmm2
movsd xmm2, qword [esp + 0xe8]
mov dword [ecx + 0x38], eax
movsd qword [ecx + 0x30], xmm0
movsd qword [ecx + 0x18], xmm1
movsd xmm1, qword [esp + 0xf0]
movsd qword [ecx + 8], xmm2
movsd qword [ecx + 0x10], xmm1
mov dword [ecx], ebx
mov dword [ecx + 4], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [edi + 0x30]
mov ecx, esi
push dword [edi + 0x34]
call fcn.0053b8e0
add esp, 4
mov ecx, dword [esp + 0x9c]
mov dword [ecx + 4], eax
mov dword [ecx], 0x80000000
jmp 0x54eebf
movzx eax, bl
cmp eax, 5
jne 0x54f203
mov dword [esp + 0x44], 2
jmp 0x54f1ec
movzx eax, bh
cmp eax, 0x7d
jne 0x54ef5d
mov dword [esp + 0x44], 0x12
jmp 0x54e966
mov eax, dword [0x5970d8]
sub esp, 0xc
movss dword [esp + 8], xmm2
mov dword [esp], eax
mov dword [esp + 4], 0
call sub.KERNEL32.dll_HeapFree
movaps xmm1, xmmword [esp + 0xb0]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
movaps xmm0, xmmword [esp + 0x30]
test dword [esp + 8], 0x7fffffff
je 0x54ecf9
jmp 0x54ec5a
mov dword [esp + 0x44], 0x10
jmp 0x54e966
mov ecx, 3
mov edx, 0x57436c
push 0x5742d4
call fcn.0053c820
add esp, 4
jmp 0x54e7c7
mov ecx, 4
mov edx, 0x57436c
push 0x5742d4
call fcn.0053c820
add esp, 4
jmp 0x54ec33
mov dword [esp + 0x44], 8
jmp 0x54e966
mov ecx, 5
mov edx, 0x57436c
push 0x5742d4
call fcn.0053c820
add esp, 4
jmp 0x54ecbc
mov edx, dword [esi + 0x30]
lea ecx, [esp + 0x44]
push dword [esi + 0x34]
call fcn.00486e00
add esp, 4
jmp 0x54e67a
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x88]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], eax
call fcn.00486e60
jmp 0x54e67a