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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x164
mov eax, dword [0x5d7008]
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 0x4547c4
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 0x4547ad
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 0x454691
mov bl, byte [ecx]
test edi, edi
jne 0x454643
mov al, bl
inc edi
jmp 0x454671
cmp bl, al
jne 0x45464a
inc edi
jmp 0x454671
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 0x454681
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 0x454638
jmp 0x45468d
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 0x4546b2
cmp dl, byte [esp + 0x1c]
je 0x4546d1
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 0x4546d9
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x10], 0
jne 0x454782
mov al, byte [esi]
mov edx, dword [esp + 0x38]
or al, 8
mov byte [esi], al
test edx, edx
je 0x454715
cmp dword [esp + 0x14], 0
je 0x4546ff
cmp cl, byte [esp + 0xf]
je 0x454721
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 0x454721
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.004547e0
add esp, 0x14
add ebx, eax
test eax, eax
jne 0x454782
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.00540f80
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 0x4545a4
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 0x454590
mov ecx, dword [esp + 0x16c]
mov eax, ebx
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0053d630
mov esp, ebp
pop ebp
ret 0x18