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

Disassembly:
sub esp, 0x54
push ebp
mov ebp, ecx
mov eax, dword [ebp + 0x228]
test eax, eax
mov dword [esp + 4], ebp
jne 0x452bcd
xor eax, eax
pop ebp
add esp, 0x54
ret 0x1c
push ebx
mov ecx, ebp
call fcn.0044a870
mov ebx, eax
test ebx, ebx
jne 0x452c23
mov eax, dword [ebp + 0x228]
test eax, eax
jne 0x452bf9
mov ecx, ebp
call fcn.00447fb0
pop ebx
mov eax, 1
pop ebp
add esp, 0x54
ret 0x1c
cmp dword [ebp + 0x1ac], 0x4000
jne 0x452c16
mov eax, dword [ebp + 0x18c]
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x80]
pop ebx
mov eax, 1
pop ebp
add esp, 0x54
ret 0x1c
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
push esi
mov esi, dword [ebp + 0x228]
test esi, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
jne 0x452c43
mov eax, dword [ebp + 0x78]
jmp 0x452c49
mov eax, dword [ebp + 0x1c0]
test esi, esi
mov dword [esp + 0x18], eax
jne 0x452c56
mov eax, dword [ebp + 0x7c]
jmp 0x452c5c
mov eax, dword [ebp + 0x1bc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
push edi
mov edi, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x80]
lea eax, [esp + 0x14]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], ecx
push eax
mov ecx, ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x5c], edx
call fcn.0044a370
test eax, eax
jne 0x452ccc
mov ecx, ebp
call fcn.0044a8e0
pop edi
pop esi
pop ebx
mov eax, 1
pop ebp
add esp, 0x54
ret 0x1c
test esi, esi
jne 0x452cd9
mov edi, dword [ebp + 0x74]
mov dword [esp + 0x68], edi
jmp 0x452ce5
mov ecx, dword [ebp + 0x1c4]
mov dword [esp + 0x68], ecx
mov edi, ecx
cmp esi, 0x378
ja 0x452eb5
je 0x452e38
sub esi, 0x22b
je 0x452da6
sub esi, 0xa
jne 0x452f35
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
add ecx, eax
cmp eax, ecx
mov edx, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
jge 0x452f35
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
lea ebp, [esi + ecx]
mov esi, edi
imul esi, eax
add esi, ebx
lea ebx, [ebx]
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 8]
test eax, eax
je 0x452d50
mov edi, dword [eax + edx*4]
jmp 0x452d52
xor edi, edi
cmp ecx, ebp
jge 0x452d8e
mov al, byte [ecx + edi]
mov bl, al
movzx dx, al
and bl, 0xfc
shr al, 3
movzx bx, bl
movzx ax, al
and edx, 0xfff8
shl edx, 5
or edx, ebx
shl edx, 3
or edx, eax
mov word [esi + ecx*2], dx
inc ecx
cmp ecx, ebp
jl 0x452d56
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
inc edx
add esi, edi
cmp edx, eax
mov dword [esp + 0x6c], edx
jl 0x452d40
jmp 0x452f31
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
add ecx, eax
cmp eax, ecx
mov edx, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
jge 0x452f35
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
lea ebp, [esi + ecx]
mov esi, edi
imul esi, eax
add esi, ebx
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 8]
test eax, eax
je 0x452de4
mov edi, dword [eax + edx*4]
jmp 0x452de6
xor edi, edi
cmp ecx, ebp
jge 0x452e20
lea ebx, [ebx]
mov al, byte [ecx + edi]
mov dl, al
and dl, 0xf8
movzx dx, dl
shr al, 3
movzx ax, al
mov ebx, edx
shl ebx, 5
or ebx, edx
shl ebx, 2
or ebx, eax
mov word [esi + ecx*2], bx
inc ecx
cmp ecx, ebp
jl 0x452df0
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
inc edx
add esi, edi
cmp edx, eax
mov dword [esp + 0x6c], edx
jl 0x452dd4
jmp 0x452f31
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
add edx, eax
cmp eax, edx
mov ecx, eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
jge 0x452f35
mov edx, dword [esp + 0x2c]
imul edi, eax
mov esi, dword [esp + 0x3c]
lea ebp, [esi + edx]
add edi, ebx
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 8]
test eax, eax
je 0x452e74
mov esi, dword [eax + ecx*4]
jmp 0x452e76
xor esi, esi
cmp edx, ebp
mov eax, edx
jge 0x452ea0
lea ecx, [edi + edx*2]
lea ecx, [edx + ecx + 2]
mov bl, byte [eax + esi]
mov byte [ecx - 2], bl
mov bl, byte [eax + esi]
mov byte [ecx - 1], bl
mov bl, byte [eax + esi]
mov byte [ecx], bl
inc eax
add ecx, 3
cmp eax, ebp
jl 0x452e83
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
inc ecx
add edi, esi
cmp ecx, eax
mov dword [esp + 0x6c], ecx
jl 0x452e64
jmp 0x452f31
cmp esi, 0x22b8
jne 0x452f35
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
add edx, eax
cmp eax, edx
mov ecx, eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
jge 0x452f35
mov edx, dword [esp + 0x2c]
imul edi, eax
mov esi, dword [esp + 0x3c]
lea ebp, [esi + edx]
add edi, ebx
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 8]
test eax, eax
je 0x452ef5
mov esi, dword [eax + ecx*4]
jmp 0x452ef7
xor esi, esi
cmp edx, ebp
mov eax, edx
jge 0x452f1e
lea ecx, [edi + edx*4 + 2]
mov bl, byte [eax + esi]
mov byte [ecx - 2], bl
mov bl, byte [eax + esi]
mov byte [ecx - 1], bl
mov bl, byte [eax + esi]
mov byte [ecx], bl
inc eax
add ecx, 4
cmp eax, ebp
jl 0x452f01
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
inc ecx
add edi, esi
cmp ecx, eax
mov dword [esp + 0x6c], ecx
jl 0x452ee5
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x228]
test eax, eax
jne 0x452f52
mov ecx, ebp
call fcn.00447fb0
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x54
ret 0x1c
cmp dword [ebp + 0x1ac], 0x4000
jne 0x452f6f
mov eax, dword [ebp + 0x18c]
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x80]
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x54
ret 0x1c