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

Disassembly:
sub esp, 0x40
mov eax, dword [esp + 0x44]
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push esi
mov esi, dword [esp + 0x90]
lea edx, [eax + eax*2]
mov eax, dword [0x4c1ad8]
push edi
mov edi, esi
shl eax, 4
shr edi, 0x10
and esi, 0xffff
push eax
push 0x40
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], edx
call ebp
mov ecx, dword [0x4c1ad8]
mov ebx, eax
shl ecx, 4
push ecx
push 0x40
mov dword [esp + 0x38], ebx
call ebp
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x74]
mov ebp, eax
mov eax, ecx
sub eax, edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x88]
sub eax, edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x8c]
sub eax, edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x90]
sub eax, edx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
cmp eax, ecx
je 0x4634ba
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x88]
cmp eax, ecx
jne 0x46313d
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x8c]
cmp ecx, eax
jne 0x46313d
cmp edx, dword [esp + 0x90]
je 0x4634ba
mov edx, dword [esp + 0x54]
cmp dword [edx], 0
jne 0x463160
push 0x4c1fa4
call fcn.00491850
add esp, 4
mov dword [esp + 0x28], 0
jmp 0x46349a
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x463170
mov dword [esp + 0x70], 0x4c1adc
cmp esi, 0xd
je 0x46317a
cmp esi, 0xb
jne 0x463182
test edi, edi
je 0x46349a
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
cmp ecx, eax
mov esi, ecx
jl 0x463192
mov esi, eax
mov edx, dword [esp + 0x6c]
cmp esi, edx
jl 0x46319c
mov esi, edx
cmp ecx, eax
mov edi, ecx
jg 0x4631a4
mov edi, eax
cmp edi, edx
jg 0x4631aa
mov edi, edx
mov edx, dword [esp + 0x70]
mov edx, dword [edx + 4]
cmp esi, edx
jg 0x4631b7
mov esi, edx
mov edx, dword [esp + 0x70]
mov edx, dword [edx + 0xc]
dec edx
cmp edi, edx
jl 0x4631c5
mov edi, edx
cmp esi, edi
jg 0x4631fd
mov ecx, edi
mov edx, ebx
sub ecx, esi
sub edx, ebp
inc ecx
mov eax, ebp
mov dword [esp + 0x54], ecx
mov ecx, dword [0x4c1ad4]
mov dword [edx + eax], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax], 0
add eax, 0x10
dec ecx
mov dword [esp + 0x54], ecx
jne 0x4631d8
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x70]
push ebp
sub eax, esi
push ebx
push edx
mov dword [esp + 0x70], eax
push eax
mov eax, dword [esp + 0x70]
sub ecx, esi
push eax
mov dword [esp + 0x70], ecx
push ecx
mov ecx, dword [esp + 0x70]
push ecx
call fcn.00412d50
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x80]
push ebp
sub eax, esi
push ebx
push edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x94], eax
push eax
mov eax, dword [esp + 0x94]
push eax
push ecx
push edx
call fcn.00412d50
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
push ebp
push ebx
push eax
mov eax, dword [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0xb0]
push edx
push eax
push ecx
call fcn.00412d50
mov edx, esi
mov ecx, dword [esp + 0x64]
imul edx, dword [esp + 0x78]
add esp, 0x54
add ecx, edx
cmp esi, edi
mov dword [esp + 0x10], ecx
jg 0x46349a
mov ecx, dword [esp + 0x74]
mov eax, esi
sub eax, ecx
sub edi, esi
mov ecx, eax
sub ebp, ebx
imul ecx, dword [esp + 0x20]
mov dword [esp + 0x64], ecx
mov ecx, eax
imul ecx, dword [esp + 0x1c]
imul eax, dword [esp + 0x18]
inc edi
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], ebp
mov dword [esp + 0x60], edi
jmp 0x4632de
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
lea esi, [esp + 0x39]
cdq
idiv dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov edi, 8
lea ebp, [eax + edx]
mov eax, ecx
mov ecx, dword [esp + 0x84]
cdq
idiv ecx
mov edx, dword [esp + 0x7c]
add eax, edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x64]
cdq
idiv ecx
mov ecx, dword [esp + 0x78]
add eax, ecx
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x80]
push edx
push eax
push ebp
call fcn.00493c40
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x88]
mov byte [esi - 1], al
mov eax, dword [esp + 0x68]
push ecx
push edx
push eax
call fcn.00493c40
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x90]
mov byte [esi], al
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.00493c40
mov byte [esi + 1], al
add esp, 0x24
add esi, 3
dec edi
jne 0x463324
mov ecx, dword [esp + 0x14]
lea eax, [ecx - 1]
cmp eax, 0xc
ja case.0x463397.6
xor edx, edx
mov dl, byte [eax + 0x463520]
jmp dword [edx*4 + 0x463508]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0x3c]
add eax, ebx
push ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
push ebx
push ecx
call fcn.00462210
add esp, 0x18
jmp case.0x463397.4
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x78]
lea eax, [esp + 0x3c]
add edx, ebx
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push ebx
push eax
call fcn.00462440
add esp, 0x18
jmp case.0x463397.4
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
lea ecx, [esp + 0x38]
add eax, ebx
push ecx
mov ecx, dword [esp + 0x14]
push edx
push eax
push ebx
push ecx
call fcn.004625c0
jmp 0x463445
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x38]
add ecx, ebx
push edx
mov edx, dword [esp + 0x14]
push eax
push ecx
push ebx
push edx
call fcn.00462700
jmp 0x463445
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x38]
add edx, ebx
push eax
mov eax, dword [esp + 0x14]
push ecx
push edx
push ebx
push eax
call fcn.004620f0
add esp, 0x14
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
add eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x20]
add ebp, edx
mov edx, dword [esp + 0x10]
add edi, eax
mov eax, dword [esp + 0x60]
add ebx, 0x10
add edx, ecx
dec eax
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], edi
mov dword [esp + 0x10], edx
mov dword [esp + 0x60], eax
jne 0x4632da
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
test ebx, ebx
je 0x4634a7
push ebx
call esi
test ebp, ebp
je 0x4634ae
push ebp
call esi
mov eax, dword [esp + 0x28]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x7c]
push eax
mov eax, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x78]
push edx
push eax
push ecx
call fcn.004627b0
add esp, 0x30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret