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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1ec
mov edi, edx
mov esi, ecx
mov ecx, edx
call fcn.00477dc0
cmp eax, 0x29
mov dword [ebp - 0x168], eax
jne 0x47a1e7
mov ebx, dword [edi]
mov dword [ebp - 0x10], esi
cmp dword [ebx + 0x24], 0
jne 0x47a215
mov dword [ebx + 0x24], 0xffffffff
lea eax, [ebx + 0x24]
mov ecx, dword [ebx + 0x30]
mov dword [ebp - 0x24], eax
test ecx, ecx
je 0x4795ca
mov dword [ebp - 0x14], edi
lea edi, [ecx - 1]
mov dword [ebx + 0x30], edi
imul esi, edi, 0x70
mov eax, dword [ebx + 0x28]
mov edx, dword [eax + esi + 0x38]
mov dword [ebp - 0x70], edx
lea edx, [eax + esi]
movsd xmm0, qword [eax + esi + 0x30]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [eax + esi + 0x28]
movsd qword [ebp - 0x80], xmm0
movsd xmm0, qword [eax + esi + 0x20]
movsd qword [ebp - 0x88], xmm0
movsd xmm0, qword [eax + esi + 0x18]
movsd qword [ebp - 0x90], xmm0
movsd xmm0, qword [eax + esi + 0x10]
movsd qword [ebp - 0x98], xmm0
movsd xmm0, qword [eax + esi]
movsd xmm1, qword [eax + esi + 8]
movsd qword [ebp - 0xa0], xmm1
movsd qword [ebp - 0xa8], xmm0
mov esi, dword [eax + esi + 0x3c]
cmp esi, 3
je 0x479733
mov edi, dword [ebp - 0x14]
cmp esi, 4
jne 0x4798aa
mov esi, dword [ebx]
mov ecx, edi
call fcn.00477dc0
mov ecx, 1
cmp eax, 0x80
jb 0x4795f8
mov ecx, 2
cmp eax, 0x800
jb 0x4795f8
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
add esi, ecx
jb 0x47a23a
mov eax, dword [ebx + 8]
inc eax
mov dword [ebp - 0x14], eax
je 0x47a241
mov eax, dword [ebx + 4]
mov dword [ebp - 0x18], eax
mov ecx, edi
call fcn.00477dc0
xor ecx, ecx
cmp eax, 0xa
mov eax, dword [ebx + 8]
mov dword [ebp - 0x20], esi
mov esi, 1
sete dl
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x14]
movsd xmm0, qword [ebx]
mov ebx, dword [edi + 4]
cmove eax, esi
mov dword [ebp - 0x30], ebx
mov ebx, dword [edi + 8]
mov dword [ebp - 0x14], eax
movsd qword [ebp - 0x120], xmm0
test ebx, ebx
je 0x47969b
setns al
js 0x47a26e
mov esi, dword [0x56bbf8]
mov byte [ebp - 0x28], al
mov eax, dword [esi]
mov byte [ebp - 0x2c], dl
test eax, eax
jne 0x47967f
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x47a25b
mov dword [esi], eax
push ebx
push 0
push eax
call sub.kernel32.dll_HeapAlloc
movzx edx, byte [ebp - 0x2c]
mov esi, eax
test eax, eax
mov ecx, 0
je 0x47a25b
mov edi, dword [ebp - 0x18]
mov cl, dl
add edi, ecx
push ebx
push dword [ebp - 0x30]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x10]
movsd xmm0, qword [ebp - 0x120]
mov edx, dword [ebp - 0x14]
mov dword [ecx + 0x30], eax
movsd qword [ecx + 0x28], xmm0
mov dword [ecx], 0x16
mov dword [ecx + 0x1c], esi
mov esi, dword [ebp - 0x20]
mov dword [ecx + 0x20], ebx
mov dword [ecx + 0x24], ebx
mov dword [ecx + 0x34], esi
mov dword [ecx + 0x38], edi
mov edi, dword [ebp + 8]
mov dword [ecx + 0x3c], edx
mov eax, dword [ebp - 0x24]
inc dword [eax]
mov ecx, dword [edi + 0x18]
imul esi, dword [edi + 0x20], 0x78
mov dword [ebp - 0x14], ecx
nop dword [eax + eax]
test esi, esi
je 0x479713
lea ebx, [ecx + 0x78]
add esi, 0xffffff88
call fcn.00473440
mov ecx, ebx
jmp 0x479700
cmp dword [edi + 0x1c], 0
je 0x47a1dc
mov eax, dword [0x56bbf8]
push dword [ebp - 0x14]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
jmp 0x47a1dc
mov esi, dword [edx + 0x20]
test edi, edi
mov dword [ebp - 0x148], esi
movsd xmm0, qword [edx + 0x18]
movsd qword [ebp - 0x150], xmm0
movsd xmm0, qword [edx + 0x10]
movsd qword [ebp - 0x158], xmm0
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
movsd qword [ebp - 0x160], xmm1
movsd qword [ebp - 0x168], xmm0
je 0x479c4c
add ecx, 0xfffffffe
lea edi, [ebp - 0x120]
mov dword [ebx + 0x30], ecx
imul ecx, ecx, 0x70
add eax, ecx
mov ecx, 0x1c
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xe4]
cmp esi, 3
lea ecx, [esi - 3]
sete dl
cmp ecx, 1
jbe 0x479c58
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd xmm2, qword [ebp - 0xfc]
movzx ecx, byte [ebp - 0xb4]
mov edi, dword [ebp - 0x150]
movsd qword [ebp - 0x64], xmm1
movsd qword [ebp - 0x6c], xmm0
movsd xmm1, qword [ebp - 0xf4]
mov byte [ebp - 0x18], cl
mov ecx, dword [ebp - 0x148]
movsd xmm0, qword [eax + 0x10]
movsd qword [ebp - 0x5c], xmm0
movsd xmm0, qword [eax + 0x18]
movsd qword [ebp - 0x54], xmm0
movsd xmm0, qword [ebp - 0xec]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x4c], eax
movsd qword [ebp - 0x40], xmm1
movsd xmm1, qword [ebp - 0xc0]
movsd qword [ebp - 0x48], xmm2
movsd xmm2, qword [ebp - 0xc8]
mov eax, dword [ebp - 0xb8]
movsd qword [ebp - 0x38], xmm0
movsd qword [ebp - 0x1bc], xmm1
movsd xmm1, qword [ebp - 0xd0]
movsd qword [ebp - 0x1c4], xmm2
movsd xmm2, qword [ebp - 0xe0]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x14c]
movsd qword [ebp - 0x1cc], xmm1
movsd xmm1, qword [ebp - 0xd8]
movsd qword [ebp - 0x1dc], xmm2
movsd xmm2, qword [ebp - 0x168]
movsd qword [ebp - 0x1d4], xmm1
movsd xmm1, qword [ebp - 0x158]
movsd qword [ebp - 0x1f4], xmm2
movsd qword [ebp - 0x1e4], xmm1
movsd xmm1, qword [ebp - 0x160]
movsd qword [ebp - 0x1ec], xmm1
jmp 0x47994b
movzx eax, byte [edx + 0x6c]
xor edi, edi
mov byte [ebp - 0x18], al
mov eax, dword [edx + 0x20]
mov dword [ebp - 0x4c], eax
movsd xmm0, qword [edx + 0x18]
movsd qword [ebp - 0x54], xmm0
movsd xmm0, qword [edx + 0x10]
movsd qword [ebp - 0x5c], xmm0
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
movsd qword [ebp - 0x6c], xmm0
movsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x64], xmm1
movsd xmm1, qword [ebp - 0x7c]
movsd qword [ebp - 0x48], xmm0
movsd xmm0, qword [ebp - 0x74]
movsd qword [ebp - 0x40], xmm1
movsd qword [ebp - 0x38], xmm0
movsd xmm0, qword [edx + 0x40]
movsd xmm1, qword [edx + 0x48]
movsd qword [ebp - 0x1dc], xmm0
movsd qword [ebp - 0x1d4], xmm1
movsd xmm0, qword [edx + 0x50]
movsd qword [ebp - 0x1cc], xmm0
movsd xmm0, qword [edx + 0x58]
movsd qword [ebp - 0x1c4], xmm0
movsd xmm0, qword [edx + 0x60]
movsd qword [ebp - 0x1bc], xmm0
mov eax, dword [edx + 0x68]
mov dword [ebp - 0x1b4], eax
movsd xmm0, qword [ebp - 0x38]
movsd xmm1, qword [ebp - 0x1ec]
mov edx, dword [ebp - 0x4c]
cmp byte [ebp - 0x18], 0
movsd qword [ebp - 0x158], xmm0
movsd xmm0, qword [ebp - 0x40]
movsd qword [ebp - 0x1a8], xmm1
movsd xmm1, qword [ebp - 0x64]
mov dword [ebp - 0x16c], edx
mov edx, dword [ebp - 0x1b4]
movsd qword [ebp - 0x160], xmm0
movsd xmm0, qword [ebp - 0x48]
movsd qword [ebp - 0x184], xmm1
movsd xmm1, qword [ebp - 0x1d4]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x1e4]
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x124], edx
movsd qword [ebp - 0x144], xmm1
mov esi, dword [ebp + 8]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x1f4]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x54]
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x194], eax
movsd qword [ebp - 0x174], xmm0
movsd xmm0, qword [ebp - 0x5c]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x6c]
movsd qword [ebp - 0x18c], xmm0
movsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x14c], xmm0
movsd xmm0, qword [ebp - 0x1cc]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x1c4]
movsd qword [ebp - 0x134], xmm0
movsd xmm0, qword [ebp - 0x1bc]
movsd qword [ebp - 0x12c], xmm0
setne byte [ebx + 0x66]
mov eax, dword [ebx + 8]
mov dword [esi + 0x14], eax
movsd xmm0, qword [ebx]
movsd qword [esi + 0xc], xmm0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x20], edi
call fcn.00477eb0
mov eax, dword [ebx + 8]
test edi, edi
sete byte [ebp - 0x14]
mov dword [ebp - 0x154], eax
movsd xmm0, qword [ebx]
movsd qword [ebp - 0x15c], xmm0
je 0x479ba2
movsd xmm1, qword [ebp - 0x1a0]
lea eax, [esi + 0xc]
mov ecx, dword [ebp - 0x190]
movsd xmm0, qword [ebp - 0x198]
movsd xmm2, qword [ebp - 0x1b0]
lea ebx, [ebp - 0x54]
movsd qword [ebp - 0x5c], xmm1
movsd xmm1, qword [ebp - 0x1a8]
movsd qword [ebp - 0x6c], xmm2
movsd xmm2, qword [esi + 0x18]
mov dword [ebp - 0x4c], ecx
movsd qword [ebp - 0x54], xmm0
movsd qword [ebp - 0x64], xmm1
movsd xmm1, qword [eax]
mov eax, dword [eax + 8]
movsd qword [ebp - 0x90], xmm2
movsd xmm2, qword [esi]
movsd qword [ebp - 0x60], xmm1
movsd xmm1, qword [esi + 0x10]
mov dword [ebp - 0x58], eax
mov eax, dword [esi + 0x20]
movsd qword [ebp - 0xa8], xmm2
movsd qword [ebp - 0x98], xmm1
movsd xmm1, qword [esi + 8]
test eax, eax
mov dword [ebp - 0x88], eax
movsd qword [ebp - 0xa0], xmm1
je 0x479dd6
cmp eax, 1
jne 0x479e2f
mov dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x18]
cmp ecx, 0x15
je 0x47a2cc
movsd xmm0, qword [eax + 0x10]
lea esi, [eax + 0x1c]
lea edi, [ebp - 0x104]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [ebp - 0x118], xmm1
movsd qword [ebp - 0x120], xmm0
mov dword [ebp - 0x108], ecx
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x8c], 0
jne 0x479e15
jmp 0x479e25
movsd xmm1, qword [esi + 0x10]
mov eax, dword [esi + 0x20]
movsd xmm0, qword [esi + 0x18]
movsd xmm2, qword [esi]
movsd qword [ebp - 0x98], xmm1
movsd xmm1, qword [esi + 8]
test eax, eax
mov dword [ebp - 0x88], eax
movsd qword [ebp - 0x90], xmm0
movsd qword [ebp - 0xa8], xmm2
movsd qword [ebp - 0xa0], xmm1
je 0x47a03b
cmp eax, 1
jne 0x47a098
mov dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x18]
cmp ecx, 0x15
je 0x47a2f8
movsd xmm0, qword [eax + 0x10]
lea esi, [eax + 0x1c]
lea edi, [ebp - 0x104]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [ebp - 0x118], xmm1
movsd qword [ebp - 0x120], xmm0
mov dword [ebp - 0x108], ecx
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
jmp 0x47a071
mov dword [ebp - 0xe4], 4
xor edx, edx
mov esi, dword [ebx]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x14]
call fcn.00477dc0
mov ecx, 1
cmp eax, 0x80
jb 0x479c8a
mov ecx, 2
cmp eax, 0x800
jb 0x479c8a
cmp eax, 0x10000
mov ecx, 4
sbb ecx, 0
add esi, ecx
jb 0x47a289
mov eax, dword [ebx + 8]
inc eax
mov dword [ebp - 0x18], eax
je 0x47a290
mov eax, dword [ebx + 4]
mov dword [ebp - 0x30], eax
mov edi, dword [ebp - 0x14]
mov ecx, edi
call fcn.00477dc0
xor ecx, ecx
cmp eax, 0xa
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2c], esi
mov esi, 1
sete dl
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x18]
movsd xmm0, qword [ebx]
mov ebx, dword [edi + 4]
cmove eax, esi
mov dword [ebp - 0x28], ebx
mov ebx, dword [edi + 8]
mov dword [ebp - 0x18], eax
movsd qword [ebp - 0x1b0], xmm0
test ebx, ebx
je 0x479d30
setns al
js 0x47a2c5
mov esi, dword [0x56bbf8]
mov byte [ebp - 0x14], al
mov eax, dword [esi]
mov byte [ebp - 0x19], dl
test eax, eax
jne 0x479d14
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x47a2b5
mov dword [esi], eax
push ebx
push 0
push eax
call sub.kernel32.dll_HeapAlloc
movzx edx, byte [ebp - 0x19]
mov esi, eax
test eax, eax
mov ecx, 0
je 0x47a2b5
mov edi, dword [ebp - 0x30]
mov cl, dl
add edi, ecx
push ebx
push dword [ebp - 0x28]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x10]
movsd xmm0, qword [ebp - 0x1b0]
cmp byte [ebp - 0x20], 0
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0x30], eax
movsd qword [ecx + 0x28], xmm0
mov dword [ecx], 0x16
mov dword [ecx + 0x1c], esi
mov esi, dword [ebp - 0x2c]
mov dword [ecx + 0x20], ebx
mov dword [ecx + 0x24], ebx
mov dword [ecx + 0x34], esi
mov dword [ecx + 0x38], edi
mov dword [ecx + 0x3c], edx
je 0x479d8c
lea ecx, [ebp - 0x120]
call fcn.00474430
mov ecx, dword [ebp - 0x150]
imul esi, dword [ebp - 0x148], 0x78
mov edi, dword [ebp + 8]
mov dword [ebp - 0x14], ecx
nop
test esi, esi
je 0x479db3
lea ebx, [ecx + 0x78]
add esi, 0xffffff88
call fcn.00473440
mov ecx, ebx
jmp 0x479da0
cmp dword [ebp - 0x14c], 0
je 0x4796e9
mov eax, dword [0x56bbf8]
push dword [ebp - 0x14]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
jmp 0x4796e9
movsd xmm0, qword [esi + 0x10]
movsd xmm2, qword [esi]
movsd xmm1, qword [esi + 8]
mov eax, dword [ebp - 0x90]
movsd qword [ebp - 0x110], xmm0
movsd qword [ebp - 0x118], xmm1
movsd qword [ebp - 0x120], xmm2
mov dword [ebp - 0x108], 0xb
cmp dword [ebp - 0x8c], 0
je 0x479e25
mov ecx, dword [0x56bbf8]
push eax
push 0
push dword [ecx]
call sub.kernel32.dll_HeapFree
mov edx, dword [ebp - 0x4c]
cmp edx, dword [ebp - 0x50]
je 0x479e7d
jmp 0x479e87
movsd xmm1, qword [esi + 0x10]
mov eax, dword [esi + 0x20]
movsd xmm0, qword [esi + 0x18]
movsd xmm2, qword [esi]
movsd qword [ebp - 0xf4], xmm1
movsd xmm1, qword [esi + 8]
mov dword [ebp - 0xe4], eax
movsd qword [ebp - 0xec], xmm0
movsd qword [ebp - 0x104], xmm2
movsd qword [ebp - 0xfc], xmm1
mov dword [ebp - 0x108], 0x14
mov edx, dword [ebp - 0x4c]
cmp edx, dword [ebp - 0x50]
jne 0x479e87
mov ecx, ebx
call fcn.004766a0
mov edx, dword [ebp - 0x4c]
imul edi, edx, 0x78
lea esi, [ebp - 0x120]
mov ecx, 0x1e
add edi, dword [ebp - 0x54]
inc edx
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x88], edx
movsd xmm1, qword [ebp - 0x5c]
movsd xmm0, qword [ebp - 0x54]
movsd xmm2, qword [ebp - 0x6c]
movsd qword [ebp - 0x98], xmm1
movsd xmm1, qword [ebp - 0x64]
movsd qword [ebp - 0x90], xmm0
movsd qword [ebp - 0xa8], xmm2
movsd qword [ebp - 0xa0], xmm1
je 0x479f46
cmp edx, 1
jne 0x479fa4
mov dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x18]
cmp ecx, 0x15
je 0x47a2e2
movsd xmm0, qword [eax + 0x10]
lea esi, [eax + 0x1c]
lea edi, [ebp - 0x104]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [ebp - 0x118], xmm1
movsd qword [ebp - 0x120], xmm0
mov dword [ebp - 0x108], ecx
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x8c], 0
jne 0x479f86
jmp 0x479f96
movsd xmm0, qword [ebp - 0x5c]
movsd xmm2, qword [ebp - 0x6c]
movsd xmm1, qword [ebp - 0x64]
mov eax, dword [ebp - 0x90]
movsd qword [ebp - 0x110], xmm0
movsd qword [ebp - 0x118], xmm1
movsd qword [ebp - 0x120], xmm2
mov dword [ebp - 0x108], 0xb
cmp dword [ebp - 0x8c], 0
je 0x479f96
mov ecx, dword [0x56bbf8]
push eax
push 0
push dword [ecx]
call sub.kernel32.dll_HeapFree
mov esi, dword [0x56bbf8]
mov eax, dword [esi]
test eax, eax
jne 0x47a006
jmp 0x479ff7
movsd xmm1, qword [ebp - 0x5c]
mov eax, dword [ebp - 0x4c]
movsd xmm0, qword [ebp - 0x54]
movsd xmm2, qword [ebp - 0x6c]
movsd qword [ebp - 0xf4], xmm1
movsd xmm1, qword [ebp - 0x64]
mov dword [ebp - 0xe4], eax
movsd qword [ebp - 0xec], xmm0
movsd qword [ebp - 0x104], xmm2
movsd qword [ebp - 0xfc], xmm1
mov dword [ebp - 0x108], 0x13
mov esi, dword [0x56bbf8]
mov eax, dword [esi]
test eax, eax
jne 0x47a006
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x47a278
mov dword [esi], eax
push 0x78
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x47a278
lea esi, [ebp - 0x120]
mov ecx, 0x1e
mov edi, eax
mov ebx, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x124]
mov ecx, edi
call fcn.00473440
jmp 0x47a129
movsd xmm0, qword [esi + 0x10]
movsd xmm2, qword [esi]
movsd xmm1, qword [esi + 8]
mov eax, dword [ebp - 0x90]
movsd qword [ebp - 0x110], xmm0
movsd qword [ebp - 0x118], xmm1
movsd qword [ebp - 0x120], xmm2
mov dword [ebp - 0x108], 0xb
cmp dword [ebp - 0x8c], 0
je 0x47a08a
mov ecx, dword [0x56bbf8]
push eax
push 0
push dword [ecx]
call sub.kernel32.dll_HeapFree
mov esi, dword [0x56bbf8]
mov eax, dword [esi]
test eax, eax
jne 0x47a0f9
jmp 0x47a0ea
movsd xmm1, qword [esi + 0x10]
mov eax, dword [esi + 0x20]
movsd xmm0, qword [esi + 0x18]
movsd xmm2, qword [esi]
movsd qword [ebp - 0xf4], xmm1
movsd xmm1, qword [esi + 8]
mov dword [ebp - 0xe4], eax
movsd qword [ebp - 0xec], xmm0
movsd qword [ebp - 0x104], xmm2
movsd qword [ebp - 0xfc], xmm1
mov dword [ebp - 0x108], 0x14
mov esi, dword [0x56bbf8]
mov eax, dword [esi]
test eax, eax
jne 0x47a0f9
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x47a2a7
mov dword [esi], eax
push 0x78
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x47a2a7
lea esi, [ebp - 0x120]
mov ecx, 0x1e
mov edi, eax
mov ebx, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x124]
mov ecx, edi
call fcn.00473440
push edi
push 0
mov eax, dword [0x56bbf8]
push dword [eax]
call sub.kernel32.dll_HeapFree
mov dword [ebp - 0x124], ebx
lea edi, [ebp - 0x104]
lea esi, [ebp - 0x168]
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x108], 0x12
mov edx, dword [ebp - 0x16c]
cmp edx, dword [ebp - 0x170]
jne 0x47a17a
lea ecx, [ebp - 0x174]
call fcn.004766a0
mov edx, dword [ebp - 0x16c]
imul edi, edx, 0x78
lea esi, [ebp - 0x120]
mov ecx, 0x1e
inc edx
add edi, dword [ebp - 0x174]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x10]
movsd xmm1, qword [ebp - 0x17c]
movsd xmm0, qword [ebp - 0x174]
movsd xmm2, qword [ebp - 0x18c]
mov ecx, dword [ebp - 0x24]
movsd qword [eax + 0x14], xmm1
movsd xmm1, qword [ebp - 0x184]
mov dword [eax + 0x24], edx
movsd qword [eax + 0x1c], xmm0
movsd qword [eax + 4], xmm2
movsd qword [eax + 0xc], xmm1
mov dword [eax], 0x20
inc dword [ecx]
add esp, 0x1ec
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x120], 0
lea eax, [ebp - 0x120]
mov edx, 0x51c414
lea ecx, [ebp - 0x168]
push 0x51c418
push eax
call fcn.00474bc0
add esp, 8
jmp 0x47a30c
lea eax, [ebp - 0x120]
push 0x51c428
push 0x51bf9c
push eax
push 0x10
push str.already_borrowed_usr_local_cargo_registry_src_github.com_1ecc6299db9ec823_regex_syntax_0.6.27_src_ast_parse.rs
call fcn.00414e90
add esp, 0x14
jmp 0x47a30c
mov eax, 0x51c3bc
jmp 0x47a246
mov eax, 0x51c3ac
push eax
push 0x2b
push 0x51c2f4
call fcn.00414ad0
add esp, 0xc
jmp 0x47a30c
movzx eax, byte [ebp - 0x28]
push eax
push ebx
call fcn.004085f0
add esp, 8
jmp 0x47a30c
call fcn.004085b0
jmp 0x47a30c
push 4
push 0x78
call fcn.004085f0
add esp, 8
jmp 0x47a30c
mov eax, 0x51c3bc
jmp 0x47a295
mov eax, 0x51c3ac
push eax
push 0x2b
push 0x51c2f4
call fcn.00414ad0
add esp, 0xc
jmp 0x47a30c
push 4
push 0x78
call fcn.004085f0
add esp, 8
jmp 0x47a30c
movzx eax, byte [ebp - 0x14]
push eax
push ebx
call fcn.004085f0
add esp, 8
jmp 0x47a30c
call fcn.004085b0
jmp 0x47a30c
push 0x51d0ac
push 0x2b
push 0x51c2f4
call fcn.00414ad0
add esp, 0xc
jmp 0x47a30c
push 0x51d09c
push 0x2b
push 0x51c2f4
call fcn.00414ad0
add esp, 0xc
jmp 0x47a30c
push 0x51d0ac
push 0x2b
push 0x51c2f4
call fcn.00414ad0
add esp, 0xc
ud2