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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
mov eax, dword [0x5a1014]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
mov ebx, ecx
mov dword [0x5a1100], 0x4053c0
push esi
push edi
mov dword [esp + 0x10], ebx
push dword [ebx + 0x70]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov edi, dword [ebx + 0x58]
add edi, 0x33
add edi, eax
pop ecx
mov dword [esp + 0x14], edi
push edi
call dword [sym.imp.tbbmalloc.dll_scalable_malloc]
mov esi, eax
mov dword [esp + 0x20], esi
pop ecx
test esi, esi
je 0x4bdeaa
mov dword [esi], edi
add esi, 4
mov ecx, dword [ebx + 0x50]
mov dword [esp + 0x24], esi
lea eax, [ecx - 1]
and eax, 1
lea esi, [ecx + 0x36]
add eax, ecx
mov dword [esp + 0x18], esi
mov ecx, dword [ebx + 0x78]
mov dword [esp + 0x20], eax
add eax, 0x14f
add eax, esi
add edi, eax
mov dword [esp + 0x28], edi
call fcn.0043806a
mov ecx, dword [0x5a3070]
push ecx
push edi
push 0
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x7c]
push dword [ebx + 0x6c]
mov edx, dword [ebx + 0x5c]
push dword [ebx + 0x68]
mov ecx, dword [ebx + 0x78]
shr eax, 1
and al, 1
movzx eax, al
push eax
call fcn.00464db6
mov ecx, dword [ebx + 0x78]
call fcn.0043806a
cmp byte [0x5a4ef0], 0
mov dword [esp + 0x2c], eax
jne 0x4665fc
mov eax, 0xa64e
mov ecx, 0xaa64
cmp word [ebx + 0x74], ax
je 0x466600
movzx ecx, word [ebx + 0x74]
push 3
pop eax
mov word [esp + 0x32], ax
mov eax, dword [ebx + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
add eax, 0xbf
mov word [esp + 0x30], cx
add eax, esi
mov dword [esp + 0x3c], 8
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x7c]
shr eax, 4
test al, 1
jne 0x466645
mov eax, 0x100
mov word [esp + 0x42], ax
mov ecx, dword [ebx + 0x78]
lea edx, [esp + 0x30]
push 0x14
call fcn.0044b538
push 0xa
pop ecx
mov esi, 0x4130dc
lea edi, [esp + 0x44]
rep movsd dword es:[edi], dword [esi]
mov edx, 0x401d50
lea ecx, [esp + 0x44]
call fcn.0045acd8
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x44]
mov ecx, dword [ebx + 0x78]
push 0x28
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0x8c
mov dword [esp + 0x6c], 0x42100040
call fcn.0044b538
push 0xa
pop ecx
mov esi, 0x4130dc
lea edi, [esp + 0x44]
rep movsd dword es:[edi], dword [esi]
mov edx, 0x4025f0
lea ecx, [esp + 0x44]
call fcn.0045acd8
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x44]
push 0x14
pop edi
push 3
lea eax, [ecx + 0x8c]
mov dword [esp + 0x58], edi
pop esi
mov dword [esp + 0x58], eax
lea eax, [ecx + 0xa0]
mov ecx, dword [ebx + 0x78]
push 0x28
mov dword [esp + 0x60], eax
mov word [esp + 0x68], si
mov dword [esp + 0x6c], 0xc0300040
call fcn.0044b538
mov edx, 0x405cac
lea ecx, [esp + 0x44]
call fcn.0045acd8
movzx eax, word [esp + 0x64]
mov ecx, dword [ebx + 0x50]
imul eax, eax, 0xa
add eax, dword [esp + 0x54]
add dword [esp + 0x58], eax
lea eax, [ecx - 1]
test al, 1
lea eax, [ecx + 2]
jne 0x46671c
lea eax, [ecx + 1]
mov ecx, dword [ebx + 0x78]
lea edx, [esp + 0x44]
mov dword [esp + 0x54], eax
xor eax, eax
push 0x28
mov word [esp + 0x68], ax
mov dword [esp + 0x6c], 0xc0200040
call fcn.0044b538
mov ecx, dword [ebx + 0x78]
mov edx, 0x405ca8
push 4
call fcn.0044b538
mov al, byte [ebx + 0x50]
mov edx, 0x5a10ec
mov ecx, dword [ebx + 0x78]
push 8
mov byte [esp + 0x13], al
call fcn.0044b538
mov ecx, dword [ebx + 0x78]
lea edx, [esp + 0xf]
push 1
call fcn.0044b538
movzx eax, byte [esp + 0xf]
mov edx, dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x78]
push eax
call fcn.0044b538
mov ax, word [0x5a1084]
mov edx, 0x5a10c0
mov word [0x5a10c8], ax
mov ecx, dword [ebx + 0x78]
push 0x29
call fcn.0044b538
mov ecx, dword [ebx + 0x78]
mov edx, 0x5a4a80
push edi
call fcn.0044b538
mov eax, dword [ebx + 0x18]
lea edx, [esp + 0x30]
mov ecx, dword [ebx + 0x78]
push 0xa
mov dword [esp + 0x34], 0xc
mov ax, word [eax + 0x14]
mov dword [esp + 0x38], esi
mov word [esp + 0x3c], ax
call fcn.0044b538
and dword [esp + 0x30], 0
lea edx, [esp + 0x30]
mov ecx, dword [ebx + 0x78]
inc dword [esp + 0x34]
push 0xa
call fcn.0044b538
mov ecx, dword [ebx + 0x78]
lea edx, [esp + 0x30]
inc dword [esp + 0x34]
push 0xa
mov dword [esp + 0x34], 0x10
call fcn.0044b538
mov eax, dword [ebx + 0x50]
mov edx, dword [ebx + 0x4c]
inc eax
mov ecx, dword [ebx + 0x78]
push eax
call fcn.0044b538
mov eax, dword [ebx + 0x50]
inc eax
cmp eax, dword [esp + 0x54]
jne 0x4bdec1
mov esi, 0x4130c8
lea edi, [esp + 0x30]
mov edx, 0x4025cc
lea ecx, [esp + 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
call fcn.0045acd8
mov ecx, dword [ebx + 0x78]
lea edx, [esp + 0x30]
or eax, 0xffffffff
mov dword [esp + 0x38], 0x10175c4
push 3
mov word [esp + 0x40], ax
pop eax
push 0x12
mov byte [esp + 0x44], al
call fcn.0044b538
mov esi, 0x4130c8
lea edi, [esp + 0x30]
push 0x405c6c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
add esi, 0xfffffffc
push esi
push edi
mov dword [esp + 0x40], 4
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
add esp, 0xc
push dword [ebx + 0x54]
push esi
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x3c]
mov ebx, dword [ebx + 0x58]
add esp, 0xc
add edi, 0x15
add ebx, edi
mov ecx, dword [ecx + 0x78]
push 2
pop eax
push 0x12
mov word [esp + 0x40], ax
mov byte [esp + 0x44], al
call fcn.0044b538
mov esi, 0x4130c8
lea edi, [esp + 0x30]
mov edx, 0x4025f0
lea ecx, [esp + 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
call fcn.0045acd8
push 2
pop eax
mov word [esp + 0x3c], ax
lea edx, [esp + 0x30]
mov eax, dword [esp + 0x10]
push 0x12
mov dword [esp + 0x3c], 0xc0000040
mov byte [esp + 0x44], 0x68
mov ecx, dword [eax + 0x78]
call fcn.0044b538
mov esi, 0x4130c8
lea edi, [esp + 0x30]
mov edx, 0x405cac
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [esp + 0x30]
call fcn.0045acd8
push 3
pop eax
mov word [esp + 0x3c], ax
lea edx, [esp + 0x30]
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x10]
push 0x12
mov ecx, dword [eax + 0x78]
call fcn.0044b538
mov esi, 0x4130c8
lea edi, [esp + 0x30]
mov edx, 0x405cc4
lea ecx, [esp + 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
call fcn.0045acd8
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x30]
xor eax, eax
mov dword [esp + 0x38], 0xc0000040
push 0x12
mov word [esp + 0x40], ax
mov ecx, dword [esi + 0x78]
mov byte [esp + 0x44], 0x68
call fcn.0044b538
mov edx, 0x405cb8
lea ecx, [esp + 0x30]
call fcn.0045acd8
mov ecx, dword [esi + 0x78]
lea edx, [esp + 0x30]
push 0x12
call fcn.0044b538
mov eax, dword [esp + 0x14]
lea edi, [esp + 0x30]
mov esi, 0x4130c8
mov ecx, ebx
sub ecx, dword [esp + 0x1c]
push 0x405c8c
sub eax, ecx
movsd dword es:[edi], dword [esi]
push eax
push ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [esp + 0x40], ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
add esp, 0xc
lea edx, [esp + 0x30]
xor eax, eax
add ebx, 0x19
mov word [esp + 0x3c], ax
push 2
pop eax
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x10]
push 0x12
mov ecx, dword [eax + 0x78]
call fcn.0044b538
mov eax, dword [esp + 0x14]
lea edi, [esp + 0x30]
mov esi, 0x4130c8
mov ecx, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
sub ecx, edi
sub eax, ecx
mov dword [esp + 0x34], ecx
push dword [esi + 0x70]
push eax
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
add esp, 0xc
push dword [esi + 0x70]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
pop ecx
mov ecx, dword [esi + 0x78]
lea edx, [esp + 0x30]
xor eax, eax
push 2
mov word [esp + 0x40], ax
pop eax
push 0x12
mov byte [esp + 0x44], al
call fcn.0044b538
push dword [esp + 0x14]
mov ecx, dword [esi + 0x78]
mov edx, edi
call fcn.0044b538
push edi
call dword [sym.imp.tbbmalloc.dll_scalable_free]
cmp byte [0x5a304c], 0
pop ecx
je 0x466a80
push 4
push dword [esp + 0x2c]
mov ecx, esi
push dword [esp + 0x34]
call fcn.00464cef
mov ecx, dword [esi + 0x78]
call fcn.0043806a
test al, 1
je 0x466a9b
mov ecx, dword [esi + 0x78]
mov edx, 0x40241c
push 1
call fcn.0044b538
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047a40f
mov esp, ebp
pop ebp
ret
call fcn.004575aa
test al, al
jne 0x466564
call fcn.004fd4dc
jmp 0x46657a
mov ecx, dword [ebx + 0x78]
mov edx, 0x41ac5c
push 1
call fcn.0044b538
jmp 0x46681f