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

Disassembly:
sub esp, 0x18
mov eax, dword [esp + 0x50]
mov ecx, dword [0x4c1ad8]
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push esi
push edi
mov edi, dword [esp + 0x2c]
mov esi, eax
and eax, 0xffff
shl ecx, 4
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
shr esi, 0x10
push ecx
push 0x40
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], eax
call ebp
mov edx, dword [0x4c1ad8]
mov ebx, eax
shl edx, 4
push edx
push 0x40
call ebp
mov cl, byte [esp + 0x58]
mov dl, byte [esp + 0x54]
mov ebp, eax
mov al, byte [esp + 0x5c]
mov byte [esp + 0x20], al
mov byte [esp + 0x24], al
mov eax, dword [edi]
mov dword [esp + 0x60], ebp
test eax, eax
mov byte [esp + 0x21], cl
mov byte [esp + 0x22], dl
mov byte [esp + 0x23], 0
mov byte [esp + 0x25], cl
mov byte [esp + 0x26], dl
mov byte [esp + 0x27], 0
jne 0x468a78
push 0x4c1fa4
call fcn.00491850
add esp, 4
mov dword [esp + 0x18], 0
jmp 0x468dfc
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x468a88
mov dword [esp + 0x50], 0x4c1adc
mov eax, dword [esp + 0x14]
cmp eax, 0xd
je 0x468a96
cmp eax, 0xb
jne 0x468a9e
test esi, esi
je 0x468dfc
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
cmp ecx, edx
mov edi, ecx
jl 0x468aae
mov edi, edx
mov eax, dword [esp + 0x44]
cmp edi, eax
jl 0x468ab8
mov edi, eax
mov esi, dword [esp + 0x4c]
cmp edi, esi
jl 0x468ac2
mov edi, esi
cmp ecx, edx
mov esi, ecx
jg 0x468aca
mov esi, edx
cmp esi, eax
jg 0x468ad0
mov esi, eax
mov eax, dword [esp + 0x4c]
cmp esi, eax
jg 0x468ada
mov esi, eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
cmp edi, eax
jg 0x468ae7
mov edi, eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0xc]
dec eax
cmp esi, eax
jl 0x468af5
mov esi, eax
cmp edi, esi
jg 0x468b2d
mov ecx, esi
mov edx, ebx
sub ecx, edi
sub edx, ebp
inc ecx
mov eax, ebp
mov dword [esp + 0x5c], ecx
mov ecx, dword [0x4c1ad4]
mov dword [edx + eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax], 0
add eax, 0x10
dec ecx
mov dword [esp + 0x5c], ecx
jne 0x468b08
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov eax, edx
mov edx, dword [esp + 0x50]
push ebp
sub eax, edi
push ebx
push edx
mov dword [esp + 0x40], eax
push eax
mov eax, dword [esp + 0x48]
sub ecx, edi
push eax
mov dword [esp + 0x50], ecx
push ecx
mov ecx, dword [esp + 0x48]
push ecx
call fcn.00412d50
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x50]
push ebp
sub eax, edi
push ebx
push edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x74], eax
push eax
mov eax, dword [esp + 0x74]
push eax
push ecx
push edx
call fcn.00412d50
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x78]
push ebp
sub eax, edi
push ebx
push ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x78], eax
push eax
mov eax, dword [esp + 0x94]
push edx
push eax
push ecx
call fcn.00412d50
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x84]
add esp, 0x54
push ebp
push ebx
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x50]
push ecx
push edx
push eax
call fcn.00412d50
mov ecx, edi
mov edx, dword [esp + 0x48]
imul ecx, dword [esp + 0x2c]
mov eax, dword [edx]
add esp, 0x1c
lea ebp, [eax + ecx*4]
mov ecx, dword [esp + 0x14]
lea eax, [ecx - 1]
cmp eax, 0xc
ja case.0x468bff.6
xor edx, edx
mov dl, byte [eax + 0x468e34]
jmp dword [edx*4 + 0x468e1c]
cmp edi, esi
jg case.0x468bff.4
mov eax, dword [esp + 0x10]
sub esi, edi
lea ecx, [eax*4]
mov eax, ebx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x60]
sub ecx, ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], ecx
inc esi
jmp 0x468c3a
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
add ecx, eax
push edx
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x58]
push edx
push ecx
push eax
push ebp
call fcn.00468080
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
add esp, 0x18
add edx, 0x10
add ebp, ecx
dec esi
mov dword [esp + 0x3c], edx
jne 0x468c32
jmp case.0x468bff.4
cmp edi, esi
jg case.0x468bff.4
mov eax, dword [esp + 0x10]
sub esi, edi
lea ecx, [eax*4]
mov eax, ebx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x60]
sub ecx, ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], ecx
inc esi
jmp 0x468ca3
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
add ecx, eax
push edx
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x58]
push edx
push ecx
push eax
push ebp
call fcn.004682a0
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
add esp, 0x18
add edx, 0x10
add ebp, ecx
dec esi
mov dword [esp + 0x3c], edx
jne 0x468c9b
jmp case.0x468bff.4
cmp edi, esi
jg case.0x468bff.4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
sub ecx, ebx
sub esi, edi
lea eax, [edx*4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x34], eax
mov eax, ebx
mov dword [esp + 0x3c], eax
inc esi
jmp 0x468d0c
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x20]
add ecx, eax
push edx
mov edx, dword [esp + 0x54]
push edx
push ecx
push eax
push ebp
call fcn.004683f0
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
add esp, 0x14
add edx, 0x10
add ebp, ecx
dec esi
mov dword [esp + 0x3c], edx
jne 0x468d04
jmp case.0x468bff.4
cmp edi, esi
jg case.0x468bff.4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
sub ecx, ebx
sub esi, edi
lea eax, [edx*4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x34], eax
mov eax, ebx
mov dword [esp + 0x3c], eax
inc esi
jmp 0x468d70
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x20]
add ecx, eax
push edx
mov edx, dword [esp + 0x54]
push edx
push ecx
push eax
push ebp
call fcn.00468500
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
add esp, 0x14
add edx, 0x10
add ebp, ecx
dec esi
mov dword [esp + 0x3c], edx
jne 0x468d68
jmp case.0x468bff.4
cmp edi, esi
jg case.0x468bff.4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
sub ecx, ebx
sub esi, edi
lea eax, [edx*4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x34], eax
mov eax, ebx
mov dword [esp + 0x3c], eax
inc esi
jmp 0x468dcd
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x20]
add ecx, eax
push edx
mov edx, dword [esp + 0x54]
push edx
push ecx
push eax
push ebp
call fcn.00467fc0
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
add esp, 0x14
add edx, 0x10
add ebp, ecx
dec esi
mov dword [esp + 0x3c], edx
jne 0x468dc5
mov ebp, dword [esp + 0x60]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
test ebx, ebx
je 0x468e09
push ebx
call esi
test ebp, ebp
je 0x468e10
push ebp
call esi
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret