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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi + 8]
mov ebx, dword [edi]
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], eax
add esi, 0x28
mov eax, 8
mov ecx, esi
mov dword [ebp - 0x18], ebx
call fcn.0044a9ca
cmp dword [edi + 0x50], 7
mov dword [edi + 0x14], 0
jne 0x45fd94
mov eax, 1
mov byte [ebx + 0x40], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x20]
and ecx, 3
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ecx
cmp ecx, 1
jne 0x45fe1d
mov eax, dword [edi + 8]
add eax, 0x168
test byte [eax + 0x1c], 0x10
mov dword [ebp - 0x14], eax
je 0x45fdca
mov ebx, dword [eax + 0x18]
mov eax, dword [eax + 4]
shr ebx, 2
mov dword [ebp - 8], ebx
mov dword [ebp - 4], eax
jmp 0x45fdcd
mov ebx, dword [ebp - 8]
xor ecx, ecx
xor edx, edx
xor eax, eax
cmp ebx, 2
jl 0x45fdf9
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx + eax*4]
add ecx, dword [ebx + 4]
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx + eax*4 + 4]
add edx, dword [ebx + 4]
mov ebx, dword [ebp - 8]
add eax, 2
dec ebx
cmp eax, ebx
jl 0x45fdd8
mov ebx, dword [ebp - 8]
cmp eax, ebx
jge 0x45fe0b
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + eax*4]
mov ebx, dword [ebp - 0xc]
add ebx, dword [eax + 4]
jmp 0x45fe0e
mov ebx, dword [ebp - 0xc]
add edx, ecx
add ebx, edx
jmp 0x45fe1a
mov ecx, dword [ebp - 0x10]
mov eax, dword [edi + 0x4c]
lea edx, [eax + 1]
mov dword [edi + 0x4c], edx
cmp eax, ebx
jge 0x45fe81
cmp ecx, 2
jne 0x45fe3b
mov edx, dword [edi + 4]
lea ecx, [eax + eax*4]
cmp byte [edx + ecx*4], 0x9e
jne 0x45fe1a
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx + 0xe8]
test ecx, ecx
je 0x45fe96
mov dword [edi + 0x50], 9
mov ecx, dword [0x100ad54c]
mov esi, 1
mov eax, 0x100b21b4
test ecx, ecx
je 0x45fe65
mov eax, ecx
push eax
push 0x100ae884
push edx
add edi, 0x2c
push edi
call fcn.0044beea
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, 0x65
mov dword [edi + 0x50], 0
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x20]
cmp eax, ecx
jge 0x45feab
mov ecx, dword [edi + 4]
lea edx, [eax + eax*4]
lea ebx, [ecx + edx*4]
mov dword [ebp - 0xc], ebx
jmp 0x45fed9
mov ebx, dword [ebp - 4]
sub eax, ecx
mov ecx, dword [ebx]
mov ecx, dword [ecx + 4]
xor edx, edx
cmp eax, ecx
jl 0x45fec9
sub eax, ecx
mov ecx, dword [ebx + edx*4 + 4]
mov ecx, dword [ecx + 4]
inc edx
cmp eax, ecx
jge 0x45febb
mov edx, dword [ebx + edx*4]
mov edx, dword [edx]
lea ecx, [eax + eax*4]
lea ecx, [edx + ecx*4]
mov dword [ebp - 0xc], ecx
mov ebx, ecx
mov edx, dword [edi + 0x58]
and dl, 3
cmp dl, 1
jne 0x45ff8f
cdq
mov dword [esi + 0x14], edx
mov dword [esi + 0x10], eax
mov ecx, 4
mov word [esi + 0x1c], cx
mov edx, 0xa02
mov word [esi + 0x44], dx
movzx eax, byte [ebx]
mov ecx, dword [eax*4 + 0x100aa148]
mov dword [esi + 0x2c], ecx
mov eax, ecx
test ecx, ecx
je 0x45ff27
cmp byte [ecx], 0
je 0x45ff20
nop
inc eax
cmp byte [eax], 0
jne 0x45ff1a
sub eax, ecx
and eax, 0x3fffffff
mov dword [esi + 0x40], eax
mov byte [esi + 0x46], 1
add esi, 0x50
cmp byte [ebx + 1], 0xee
jne 0x45ff8f
mov ecx, dword [ebp - 8]
lea edx, [ecx*4 + 4]
xor eax, eax
mov dword [ebp - 0x10], edx
test ecx, ecx
jle 0x45ff5a
mov edx, dword [ebx + 0x10]
mov edi, dword [ebp - 4]
cmp dword [edi + eax*4], edx
je 0x45ff5a
inc eax
cmp eax, ecx
jl 0x45ff4d
cmp eax, ecx
jne 0x45ff8f
mov edi, dword [ebp - 0x14]
xor eax, eax
test ecx, ecx
setne al
push eax
mov eax, dword [ebp - 0x10]
call fcn.0044e25a
add esp, 4
test eax, eax
jne 0x45ff8f
mov edx, dword [ebx + 0x10]
mov ecx, dword [edi + 4]
mov eax, dword [ebp - 8]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0x10]
or word [edi + 0x1c], 0x10
mov dword [edi + 0x18], ecx
mov edx, 4
mov word [esi + 0x1c], dx
mov eax, dword [ebx + 4]
cdq
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
mov eax, 4
mov word [esi + 0x44], ax
mov eax, dword [ebx + 8]
cdq
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
mov ecx, 4
mov word [esi + 0x6c], cx
mov eax, dword [ebx + 0xc]
cdq
mov dword [esi + 0x60], eax
push 0
lea eax, [ecx + 0x1c]
lea edi, [esi + 0x78]
mov dword [esi + 0x64], edx
call fcn.0044e25a
add esp, 4
test eax, eax
je 0x45ffe8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
mov edx, 0x202
mov word [esi + 0x94], dx
call fcn.0045481a
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
je 0x46001b
push 1
push eax
xor eax, eax
or ecx, 0xffffffff
lea edx, [esi + 0x78]
call fcn.0045a5ca
add esp, 8
jmp 0x460044
mov eax, ecx
test ecx, ecx
je 0x460037
cmp byte [ecx], 0
je 0x460030
lea esp, [esp]
inc eax
cmp byte [eax], 0
jne 0x46002a
sub eax, ecx
and eax, 0x3fffffff
mov dword [esi + 0x90], eax
mov byte [esi + 0x96], 1
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x58]
and al, 3
cmp al, 1
jne 0x4600b4
push 0
mov eax, 4
lea edi, [esi + 0xa0]
call fcn.0044e25a
add esp, 4
test eax, eax
jne 0x45ffdc
mov edx, dword [ebp - 0xc]
mov ecx, 0x202
mov word [esi + 0xbc], cx
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0xb8], 2
movzx eax, byte [edx + 3]
push eax
push 0x100aeff8
push ecx
push 3
call fcn.0044eb2a
mov edx, 1
mov byte [esi + 0xbe], 1
add esp, 0x10
mov word [esi + 0xe4], dx
mov ax, word [ebx + 0x58]
mov edx, dword [ebx + 8]
and ax, 3
dec ax
mov ecx, 2
sub cx, ax
add cx, cx
mov esi, 0x64
add cx, cx
pop edi
add edx, 0x28
mov eax, esi
pop esi
mov word [ebx + 0x54], cx
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x50], 0
pop ebx
mov esp, ebp
pop ebp
ret