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

Disassembly:
sub esp, 0xa4
push ebx
mov ebx, dword [esp + 0xb0]
add eax, edx
push ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb8]
push esi
mov esi, dword [esp + 0xb4]
mov ebp, dword [esi + 0x7370]
push edi
mov edi, dword [esi + 0x72b0]
add eax, ebx
mov dword [esp + 0x70], edi
mov edi, dword [esi + 0x72b4]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x7380]
add eax, ebp
mov dword [esp + 0x88], edi
mov edi, dword [esi + 0x72b8]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x6c], eax
mov dword [esp + 0x7c], edi
test ecx, ecx
je 0x46412d
mov edi, dword [esp + 0x10]
mov dword [esi + 0x7304], 1
mov ecx, dword [esi + 0x682c]
mov eax, dword [esi + 0x6830]
mov dword [esp + 0x50], ecx
mov ecx, dword [esi + 0x6834]
mov dword [esp + 0x58], ecx
sub edi, edx
lea ecx, [esp + 0x24]
mov dword [esp + 0x54], eax
call fcn.00462b50
cmp eax, 0xffffff88
jbe 0x463a21
mov eax, 0xffffffec
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
mov eax, dword [esp + 0x28]
mov edi, dword [esi]
mov edx, dword [edi + 4]
lea ebx, [edx + eax]
mov eax, dword [esp + 0x24]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], ebx
and eax, dword [edx*4 + 0x752110]
mov dword [esp + 0x38], eax
call fcn.00462c90
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
add edi, 8
mov dword [esp + 0x3c], edi
mov edi, dword [esi + 8]
mov edx, dword [edi + 4]
lea ebx, [edx + ecx]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], ebx
and eax, dword [edx*4 + 0x752110]
mov dword [esp + 0x40], eax
call fcn.00462c90
mov eax, dword [esp + 0x28]
mov esi, dword [esi + 4]
mov edx, dword [esi + 4]
add edi, 8
mov dword [esp + 0x44], edi
lea edi, [edx + eax]
mov eax, dword [esp + 0x24]
mov ecx, edi
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], edi
and eax, dword [edx*4 + 0x752110]
mov dword [esp + 0x48], eax
call fcn.00462c90
lea eax, [esi + 8]
mov dword [esp + 0x4c], eax
jmp 0x463ad0
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [eax + ecx*8 + 4]
mov ebp, dword [eax + ecx*8]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x40]
mov eax, dword [ecx + edx*8]
mov edx, dword [ecx + edx*8 + 4]
mov dword [esp + 0xac], eax
mov ecx, esi
mov ebx, ebp
shr ecx, 0x10
shr eax, 0x10
shr ebx, 0x10
mov dword [esp + 0x74], esi
mov dword [esp + 0x80], ebp
mov byte [esp + 0x1b], cl
cmp al, 1
jbe 0x463be4
cmp dword [esp + 0xc4], 0
je 0x463ba6
cmp al, 0x19
jb 0x463ba6
mov edi, dword [esp + 0x28]
mov ecx, 0x20
movzx eax, al
sub ecx, edi
cmp eax, ecx
jae 0x463b51
mov ecx, eax
mov ebp, dword [esp + 0x24]
mov esi, eax
sub esi, ecx
mov ecx, edi
and ecx, 0x1f
shl ebp, cl
sub eax, esi
mov ecx, eax
neg ecx
and ecx, 0x1f
shr ebp, cl
mov ecx, esi
add edi, eax
mov dword [esp + 0x28], edi
shl ebp, cl
lea ecx, [esp + 0x24]
add ebp, edx
call fcn.00462c90
test esi, esi
je 0x463bd2
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, edx
and ecx, 0x1f
shl eax, cl
mov ecx, esi
neg ecx
and ecx, 0x1f
shr eax, cl
add edx, esi
mov dword [esp + 0x28], edx
add ebp, eax
jmp 0x463bd2
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
movzx eax, al
mov ecx, esi
and ecx, 0x1f
shl ebp, cl
mov ecx, eax
neg ecx
and ecx, 0x1f
shr ebp, cl
add esi, eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], esi
add ebp, edx
call fcn.00462c90
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
jmp 0x463c50
xor ecx, ecx
cmp dword [esp + 0x78], ecx
sete cl
mov esi, ecx
test al, al
jne 0x463c0b
test esi, esi
jne 0x463bfd
mov ebp, dword [esp + 0x50]
jmp 0x463c54
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x54], edx
jmp 0x463c50
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, edi
and ecx, 0x1f
shl eax, cl
inc edi
mov dword [esp + 0x28], edi
shr eax, 0x1f
add eax, esi
mov esi, dword [esp + 0x50]
add eax, edx
lea ebp, [esi - 1]
cmp eax, 3
je 0x463c36
mov ebp, dword [esp + eax*4 + 0x50]
xor ecx, ecx
test ebp, ebp
sete cl
add ebp, ecx
cmp eax, 1
je 0x463c4c
mov edx, dword [esp + 0x54]
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebp
mov edi, dword [esp + 0x84]
test bl, bl
jbe 0x463c85
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, esi
and ecx, 0x1f
shl eax, cl
movzx edx, bl
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
add esi, edx
mov ecx, edi
mov dword [esp + 0x28], esi
lea edi, [eax + ecx]
movzx eax, byte [esp + 0x1b]
movzx edx, bl
add edx, eax
cmp edx, 0x14
mov dword [esp + 0x10], eax
jl 0x463ca1
lea ecx, [esp + 0x24]
call fcn.00462c90
cmp byte [esp + 0x1b], 0
mov edx, dword [esp + 0x78]
mov esi, edx
jbe 0x463cd2
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov ecx, ebx
and ecx, 0x1f
shl esi, cl
mov ecx, eax
neg ecx
and ecx, 0x1f
shr esi, cl
add ebx, eax
mov dword [esp + 0x28], ebx
add esi, edx
lea ecx, [esp + 0x24]
call fcn.00462c90
movzx ebx, byte [esp + 0x77]
mov eax, dword [esp + 0x28]
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], ecx
neg ecx
and ecx, 0x1f
mov edx, eax
shr edx, cl
movzx ecx, word [esp + 0x74]
and edx, dword [ebx*4 + 0x752110]
add ecx, edx
movzx edx, byte [esp + 0x83]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x10]
lea ebx, [edx + ecx]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], ebx
and eax, dword [edx*4 + 0x752110]
movzx edx, word [esp + 0x80]
add edx, eax
mov dword [esp + 0x48], edx
call fcn.00462c90
movzx edx, byte [esp + 0xaf]
mov eax, dword [esp + 0x28]
lea ebx, [edx + eax]
mov eax, dword [esp + 0x24]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
movzx ecx, word [esp + 0xac]
and eax, dword [edx*4 + 0x752110]
mov edx, dword [esp + 0xa0]
add ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], ebx
lea ebx, [esi + eax]
lea ecx, [esi + edi]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
lea ecx, [esi + edx]
mov eax, ebx
sub eax, ebp
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa8], ecx
cmp ecx, dword [esp + 0x6c]
ja 0x464073
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add ecx, edx
mov edx, dword [esp + 0x20]
add edx, 0xffffffe0
cmp ecx, edx
ja 0x464073
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
sub ecx, dword [esp + 0x1c]
add edx, 0x20
cmp ecx, edx
jb 0x464073
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x1c]
mov dword [ecx], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
cmp esi, 0x10
jbe 0x463eaf
mov edx, dword [esp + 0x14]
add esi, 0xfffffff0
add ecx, 0x10
mov dword [esp + 0x90], esi
add esi, ecx
add edx, 0x10
cmp dword [esp + 0x90], 0x10
mov dword [esp + 0x14], esi
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
jle 0x463eaf
add ecx, 0x10
add edx, 0x10
lea esp, [esp]
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
mov esi, dword [edx + 0x10]
add edx, 0x10
add ecx, 0x10
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
add ecx, 0x10
add edx, 0x10
cmp ecx, dword [esp + 0x14]
jb 0x463e70
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0xa8]
mov edx, ebx
sub edx, esi
mov dword [esp + 0x14], ecx
cmp ebp, edx
jbe 0x463f17
mov ecx, ebx
sub ecx, dword [esp + 0x88]
cmp ebp, ecx
jbe 0x463edd
mov esi, 0xffffffec
jmp 0x4640b8
mov ebp, dword [esp + 0x7c]
mov edx, ebp
sub edx, esi
add eax, edx
lea ecx, [eax + edi]
cmp ecx, ebp
ja 0x463f02
push edi
push eax
push ebx
call fcn.00630570
mov esi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x4640b8
sub ebp, eax
push ebp
push eax
push ebx
call fcn.00630570
add esp, 0xc
add ebx, ebp
sub edi, ebp
mov eax, esi
jmp 0x463f1e
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
cmp esi, 0x10
jb 0x463f96
cmp edi, 0x10
mov ecx, dword [eax]
mov dword [ebx], ecx
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [ebx + 8], ecx
mov ecx, dword [eax + 0xc]
lea edx, [edi + ebx]
mov dword [ebx + 0xc], ecx
jle 0x463f8d
lea ecx, [ebx + 0x10]
add eax, 0x10
mov edi, edi
mov esi, dword [eax]
mov dword [ecx], esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 0xc], esi
mov esi, dword [eax + 0x10]
add eax, 0x10
add ecx, 0x10
mov dword [ecx], esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 0xc], esi
add ecx, 0x10
add eax, 0x10
cmp ecx, edx
jb 0x463f50
mov esi, dword [esp + 0x10]
jmp 0x4640b8
cmp esi, 8
jae 0x463fc9
movzx edx, byte [eax]
mov ebp, dword [esi*4 + 0x752ba8]
mov byte [ebx], dl
movzx ecx, byte [eax + 1]
mov byte [ebx + 1], cl
movzx edx, byte [eax + 2]
mov byte [ebx + 2], dl
movzx ecx, byte [eax + 3]
mov byte [ebx + 3], cl
add eax, dword [esi*4 + 0x752b88]
mov edx, dword [eax]
sub eax, ebp
jmp 0x463fd0
mov ecx, dword [eax]
mov dword [ebx], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
cmp edi, 8
jbe 0x46406d
lea ecx, [eax + 8]
lea edx, [edi - 8]
lea eax, [ebx + 8]
mov edi, eax
sub edi, ecx
cmp edi, 0x10
lea esi, [eax + edx]
jge 0x46400f
sub ecx, eax
mov edx, dword [eax + ecx]
mov dword [eax], edx
mov edx, dword [eax + ecx + 4]
mov dword [eax + 4], edx
add eax, 8
cmp eax, esi
jb 0x463ff3
mov esi, dword [esp + 0x10]
jmp 0x4640b8
cmp edx, 0x10
mov edi, dword [ecx]
mov dword [eax], edi
mov edi, dword [ecx + 4]
mov dword [eax + 4], edi
mov edi, dword [ecx + 8]
mov dword [eax + 8], edi
mov edi, dword [ecx + 0xc]
mov dword [eax + 0xc], edi
jle 0x46406d
add eax, 0x10
add ecx, 0x10
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
add eax, 0x10
add ecx, 0x10
cmp eax, esi
jb 0x464030
mov esi, dword [esp + 0x10]
jmp 0x4640b8
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x70]
push ecx
push edx
mov edx, dword [esp + 0xac]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x34]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], ebp
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x40]
call fcn.00463860
add esp, 0x24
mov esi, eax
lea ecx, [esp + 0x24]
call fcn.00462c90
add dword [esp + 0x1c], esi
cmp esi, 0xffffff88
ja 0x4640dd
sub dword [esp + 0x8c], 1
je 0x4640ea
mov eax, dword [esp + 0x4c]
jmp 0x463ad0
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
lea ecx, [esp + 0x24]
call fcn.00462c90
cmp eax, 2
jl 0x463a11
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov dword [eax + 0x682c], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x6830], edx
mov dword [eax + 0x6834], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x20]
sub eax, ebp
mov esi, eax
sub ecx, ebx
cmp esi, ecx
jbe 0x46414b
mov eax, 0xffffffba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
test ebx, ebx
je 0x46415c
push esi
push ebp
push ebx
call fcn.00630200
add esp, 0xc
add ebx, esi
sub ebx, dword [esp + 0xbc]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xa4
ret