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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x16c
mov esi, ecx
mov dword [ebp - 0x34], edx
add ecx, 0x7c
call fcn.0041f502
test eax, eax
mov edi, 0x4bf048
cmovne edi, eax
xor ecx, ecx
inc ecx
call fcn.0041fc5f
mov ebx, eax
mov ecx, eax
mov edx, esi
call fcn.0041f852
mov al, byte [ebp + 0xc]
lea ecx, [edi + 0x46]
xor esi, esi
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x44], ecx
mov ecx, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
test al, al
je 0x438cf2
xor ecx, ecx
lea edx, [ebp - 0x40]
lea eax, [edi + 0x54]
mov dword [ebp - 0x10], edi
inc ecx
mov dword [edx], ecx
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dl, 3
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 6]
lea eax, [ebp - 0x68]
movsd qword [eax + 6], xmm1
movsd qword [eax], xmm0
mov al, byte [edi + 0x54]
mov cl, byte [edi + 0x58]
xor al, dl
xor cl, dl
or cl, al
mov al, byte [edi + 0x5c]
xor al, dl
mov edx, 0x4cc61c
or al, cl
sete al
cmp word [edi + 0x60], 0
sete cl
and cl, al
mov eax, ecx
xor al, 1
movzx esi, al
lea eax, [ebp - 0x70]
shl esi, 2
test cl, cl
mov ecx, str.e_0mq
cmovne ecx, edx
mov dword [eax], ecx
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x44]
lea esi, [ebp - 0x54]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 6]
mov al, 3
movsd qword [esi + 6], xmm1
movsd qword [esi], xmm0
mov cl, byte [edi + 0x46]
mov ch, byte [edi + 0x4a]
xor cl, al
xor ch, al
or ch, cl
mov cl, byte [edi + 0x4e]
xor cl, al
mov eax, str.e_0mq
or cl, ch
sete cl
cmp word [edi + 0x52], 0
mov edi, 0
sete ch
and ch, cl
mov cl, ch
xor cl, 1
movzx ebx, cl
shl ebx, 2
test ch, ch
lea ecx, [ebp - 0x78]
cmovne eax, edx
lea edx, [ebp - 0x68]
mov dword [ecx], eax
lea eax, [ebp - 0xa0]
mov dword [ecx + 4], ebx
mov ebx, 0x416666
mov dword [eax], edx
mov edx, dword [ebp - 0x34]
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
lea edx, [ebp - 0x70]
mov dword [eax + 0xc], 0x4056f6
mov dword [eax + 0x10], edx
mov edx, 0x49c571
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov edx, 1
mov ebx, 2
lea esi, [ebp - 0x160]
mov ecx, 0x20
mov dword [esi], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ecx
mov cl, 3
mov dword [esi + 0x14], edi
mov dword [esi + 0x18], edi
mov byte [esi + 0x1c], cl
mov ecx, 0x20
mov dword [esi + 0x20], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], edx
mov dword [esi + 0x30], ecx
mov cl, 3
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], edi
mov byte [esi + 0x3c], cl
mov ecx, 0x20
mov dword [esi + 0x40], ebx
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], edx
mov dword [esi + 0x50], ecx
mov cl, 3
mov dword [esi + 0x54], ebx
mov dword [esi + 0x58], edi
mov byte [esi + 0x5c], cl
mov ecx, 0x20
mov dword [esi + 0x60], ebx
mov dword [esi + 0x68], ebx
mov dword [esi + 0x6c], edx
mov dword [esi + 0x70], ecx
mov cl, 3
mov dword [esi + 0x74], 3
mov dword [esi + 0x78], edi
mov byte [esi + 0x7c], cl
mov ecx, 0x20
mov dword [esi + 0x80], ebx
mov dword [esi + 0x88], ebx
mov dword [esi + 0x8c], edx
mov dword [esi + 0x90], ecx
mov cl, 3
mov dword [esi + 0x94], edx
mov dword [esi + 0x98], edi
mov byte [esi + 0x9c], cl
mov ecx, 0x20
mov dword [esi + 0xa0], ebx
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xac], edx
lea ebx, [ebp - 0x178]
mov dword [esi + 0xb0], ecx
mov cl, 3
mov dword [esi + 0xb4], 4
mov dword [esi + 0xb8], edi
mov dword [ebx], str.to_pass__as_a_value__use____
mov dword [ebx + 4], 7
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], 6
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 5
mov byte [esi + 0xbc], cl
mov edx, 0x4be9d8
lea ecx, [ebp - 0x40]
push ebx
call fcn.00447a70
add esp, 4
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x38]
cmp esi, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x30], ecx
jne 0x438cd4
lea ecx, [ebp - 0x2c]
mov edx, esi
call fcn.0042b827
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x24]
jmp 0x438cd7
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
lea eax, [esi + esi*2]
inc esi
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x30]
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], ebx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x34]
lea edx, [ebp - 0x160]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov dword [edx + 0xb], eax
movsd qword [edx + 3], xmm0
mov al, 1
movsd xmm0, qword [edx + 7]
mov dword [ebp - 0x1c], eax
movsd qword [ebp - 0x99], xmm0
movsd xmm0, qword [edx]
mov byte [edx], 1
mov byte [edx + 4], 2
movsd qword [ebp - 0xa0], xmm0
movsd xmm0, qword [ebp - 0xa0]
movsd xmm1, qword [ebp - 0x99]
movsd qword [edx + 5], xmm0
movsd qword [edx + 0xc], xmm1
mov ecx, dword [ebp - 0x20]
mov al, 1
mov bl, 1
mov dword [ebp - 0x10], eax
call fcn.0043ccee
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov al, 1
mov dword [ebp - 0x14], eax
mov al, 1
test ecx, ecx
mov dword [ebp - 0x30], ecx
je 0x438dad
mov ecx, dword [ebp + 0x10]
xor ebx, ebx
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov dword [ebp - 0x154], eax
mov al, 1
movsd qword [ebp - 0x15c], xmm0
mov byte [ebp - 0x160], 4
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x20]
mov edx, 0xf
lea eax, [ebp - 0x160]
push eax
call fcn.00420059
add esp, 4
xor eax, eax
mov edx, dword [ebp + 8]
mov dword [ebp - 0x18], eax
cmp dword [edx], 0
je 0x438f45
cmp dword [edx + 0xc], 0
je 0x438f4c
mov ecx, dword [edx + 8]
lea ebx, [ebp - 0x40]
lea eax, [edx + 0xc]
movsd xmm0, qword [edx]
lea edx, [ebp - 0x178]
mov dword [ebx + 8], ecx
mov ecx, dword [eax + 8]
lea ebx, [ebp - 0x68]
mov dword [ebx + 8], ecx
lea ecx, [ebp - 0x40]
movsd qword [ecx], xmm0
movsd xmm0, qword [eax]
lea eax, [ebp - 0x54]
xor ecx, ecx
mov dword [eax], 1
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x44]
mov ecx, 0x4cc61c
movsd qword [ebx], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 6]
movsd qword [edx + 6], xmm1
movsd qword [edx], xmm0
mov al, byte [edi + 0x46]
mov ah, byte [edi + 0x4a]
xor al, 3
xor ah, 3
or ah, al
mov al, byte [edi + 0x4e]
xor al, 3
or al, ah
sete al
cmp word [edi + 0x52], 0
mov dword [ebp - 0x160], edx
lea edx, [ebp - 0x40]
mov dword [ebp - 0x15c], 0x416666
mov dword [ebp - 0x158], ebx
sete ah
and ah, al
mov al, ah
xor al, 1
movzx edi, al
shl edi, 2
test ah, ah
mov eax, str.e_0mq
cmovne eax, ecx
lea ecx, [ebp - 0x78]
mov dword [ecx], eax
mov eax, 0x4056f6
mov dword [ecx + 4], edi
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], ecx
lea eax, [ebp - 0xa0]
xor ecx, ecx
mov dword [ebp - 0x144], 0x49c571
mov dword [eax], 0x4bfa7c
mov dword [eax + 4], 5
mov dword [eax + 0x10], ecx
lea ecx, [ebp - 0x160]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 4
mov edx, 0x4be9d8
lea ecx, [ebp - 0x54]
push eax
call fcn.00447a70
add esp, 4
mov eax, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x4c]
cmp esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
jne 0x438ef9
lea ecx, [ebp - 0x2c]
mov edx, esi
call fcn.0042b827
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
lea eax, [esi + esi*2]
mov dword [ecx + eax*4], ebx
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], edi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x64], 0
je 0x438f23
push dword [ebp - 0x68]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
cmp dword [ebp - 0x3c], 0
je 0x438f39
push dword [ebp - 0x40]
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x14], 0
jmp 0x438f89
mov al, 1
mov dword [ebp - 0x10], eax
jmp 0x438f90
mov eax, dword [edx + 8]
movsd xmm0, qword [edx]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x154], eax
movsd qword [ebp - 0x15c], xmm0
mov byte [ebp - 0x160], 2
mov ecx, dword [ebp - 0x20]
mov edx, 0xb
lea eax, [ebp - 0x160]
push eax
mov ebx, dword [ebp - 0x18]
call fcn.00420059
add esp, 4
mov dword [ebp - 0x10], 0
test esi, esi
je 0x438fcd
mov eax, dword [ebp - 0x24]
movsd xmm0, qword [ebp - 0x2c]
mov dword [ebp - 0x154], eax
movsd qword [ebp - 0x15c], xmm0
mov byte [ebp - 0x160], 5
mov ecx, dword [ebp - 0x20]
mov edx, 0xe
lea eax, [ebp - 0x160]
push eax
call fcn.00420059
add esp, 4
mov esi, dword [ebp - 0x20]
jmp 0x438fd8
mov esi, dword [ebp - 0x20]
lea ecx, [ebp - 0x2c]
call fcn.0041fc34
cmp dword [ebp - 0x30], 0
jne 0x438ffe
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x438ffe
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 4], 0
je 0x438ffe
push eax
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov eax, esi
add esp, 0x16c
pop esi
pop edi
pop ebx
pop ebp
ret