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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x164
mov eax, dword [0x5a6008]
xor eax, esp
mov dword [esp + 0x160], eax
mov eax, dword [ebp + 8]
mov edx, ecx
mov ecx, dword [ebp + 0x14]
push ebx
mov dword [esp + 0x38], eax
xor ebx, ebx
mov eax, dword [ebp + 0x1c]
push esi
add eax, ecx
mov dword [esp + 0x24], edx
mov byte [esp + 0x18], 0
mov byte [esp + 0xb], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x50], eax
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x18], edi
cmp ecx, eax
jge 0x453e54
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
add esi, eax
nop dword [eax]
mov dword [esp + 0x44], eax
cmp dword [ebp + 0x10], esi
jge 0x453e3d
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x48], ecx
mov edi, dword [ebp + 0x14]
mov esi, 0x10
cmp ecx, esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edi
cmovl esi, ecx
cmp dword [ebp + 0x1c], 0x10
mov ecx, 0x10
mov dword [esp + 0x4c], esi
cmovl ecx, dword [ebp + 0x1c]
add eax, esi
mov dword [esp + 0x60], eax
mov eax, edi
add eax, ecx
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x64], eax
mov eax, dword [edx]
push ecx
lea ecx, [esp + 0x6c]
push ecx
push dword [esp + 0x48]
mov ecx, edx
call dword [eax + 0x14]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x68]
add eax, ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
inc ebx
xor edi, edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], 1
mov byte [eax], 0
mov eax, dword [esp + 0x3c]
imul eax, esi
xor esi, esi
mov dword [esp + 0x10], 1
mov edx, eax
mov dword [esp + 0x50], eax
xor al, al
mov dword [esp + 0x2c], edx
xor ah, ah
test edx, edx
jle 0x453d21
mov bl, byte [ecx]
test edi, edi
jne 0x453cd3
mov al, bl
inc edi
jmp 0x453d01
cmp bl, al
jne 0x453cda
inc edi
jmp 0x453d01
test esi, esi
movzx ecx, ah
movzx edx, bl
cmovne edx, ecx
xor ecx, ecx
test esi, esi
mov ah, dl
cmovne ecx, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
cmp bl, ah
jne 0x453d11
mov ecx, dword [esp + 0x30]
inc esi
mov edx, dword [esp + 0x2c]
dec edx
inc ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
test edx, edx
jg 0x453cc8
jmp 0x453d1d
mov dword [esp + 0x38], 0
mov dword [esp + 0x10], ecx
mov ebx, dword [esp + 0x24]
cmp edi, esi
movzx ecx, ah
movzx edx, al
cmovle edx, ecx
movzx ecx, ah
movzx eax, al
cmovle ecx, eax
cmp dword [esp + 0x20], 0
je 0x453d42
cmp dl, byte [esp + 0x1c]
je 0x453d61
mov esi, dword [esp + 0x34]
mov al, dl
mov edi, dword [esp + 0x18]
mov dword [esp + 0x20], 1
mov byte [esp + 0x1c], al
or byte [esi], 2
mov byte [edi + ebx], al
inc ebx
jmp 0x453d69
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x10], 0
jne 0x453e12
mov al, byte [esi]
mov edx, dword [esp + 0x38]
or al, 8
mov byte [esi], al
test edx, edx
je 0x453da5
cmp dword [esp + 0x14], 0
je 0x453d8f
cmp cl, byte [esp + 0xf]
je 0x453db1
or al, 4
mov dword [esp + 0x14], 1
mov byte [esi], al
mov byte [edi + ebx], cl
inc ebx
mov byte [esp + 0xf], cl
jmp 0x453db1
or al, 0x10
mov dword [esp + 0x14], 0
mov byte [esi], al
push edx
push ecx
push dword [esp + 0x24]
lea edx, [edi + ebx]
push dword [esp + 0x48]
lea ecx, [esp + 0x78]
push dword [esp + 0x5c]
call fcn.00453e70
add esp, 0x14
add ebx, eax
test eax, eax
jne 0x453e12
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x58]
mov ebx, dword [esp + 0x24]
push edx
lea edx, [esp + 0x6c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], eax
mov byte [esi], 1
mov eax, dword [ecx]
push edx
push dword [esp + 0x48]
call dword [eax + 0x14]
mov esi, dword [esp + 0x50]
lea eax, [esp + 0x68]
push esi
push eax
lea eax, [edi + ebx]
push eax
call fcn.00512db0
add esp, 0xc
add ebx, esi
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
add eax, 0x10
mov esi, dword [ebp + 0x10]
sub ecx, 0x10
add esi, dword [ebp + 0x18]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
cmp eax, esi
jl 0x453c34
mov ecx, dword [ebp + 0x14]
sub dword [ebp + 0x1c], 0x10
add ecx, 0x10
mov eax, dword [ebp + 0x10]
mov dword [ebp + 0x14], ecx
cmp ecx, dword [esp + 0x54]
jl 0x453c20
mov ecx, dword [esp + 0x16c]
mov eax, ebx
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00511339
mov esp, ebp
pop ebp
ret 0x18