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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x40
push ebx
push esi
push edi
push ebp
push eax
mov edi, dword [0x4c258c]
call edi
lea ecx, [eax + 0x428]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 8]
dec ecx
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov cx, word [eax + 0xe]
imul ecx, dword [eax + 4]
lea eax, [ecx + 0x1f]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 2
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x7c]
add eax, 0xf
cdq
and edx, 0xf
add eax, edx
sar eax, 4
lea esi, [eax*2]
mov eax, esi
imul eax, dword [esp + 0x80]
mov dword [esp + 0x48], eax
add eax, 0x18
push eax
push 0x42
call dword [0x4c2588]
mov dword [esp + 0x4c], eax
push eax
call edi
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x14], eax
mov dword [eax], 0
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], esi
mov eax, 1
cmp word [esp + 0x84], 0
mov word [ecx + 0x10], ax
mov word [ecx + 0x12], ax
lea eax, [ecx + 0x18]
mov dword [ecx + 0x14], eax
jle 0x4865f7
mov eax, dword [esp + 0x60]
test ebx, ebx
mov dword [esp + 0x1c], 0
mov word [esp + 0x40], 0
mov dword [esp + 0x34], eax
jle 0x486441
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x70]
sub ecx, dword [esp + 0x34]
mov dword [esp + 0x30], eax
add ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x5c]
imul ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x6c]
add ecx, dword [esp + 0x44]
add eax, ecx
xor cl, cl
mov dword [esp + 0x28], eax
cmp dword [esp + 0x6c], edx
jge 0x4862f8
cmp byte [eax - 1], cl
je 0x4862f8
mov cl, 1
mov word [esp + 0x18], 0
xor esi, esi
cmp dword [esp + 0x7c], esi
jle 0x4863c9
mov eax, dword [esp + 0x28]
cmp byte [eax], 1
sbb bl, bl
inc bl
cmp cl, bl
je 0x486399
cmp bl, 1
jne 0x486357
mov ecx, dword [esp + 0x14]
mov eax, esi
mov dword [esp + 0x38], pe_nt_image_headers32
sar eax, 3
mov edi, dword [ecx + 0xc]
imul edi, dword [esp + 0x1c]
add edi, eax
mov ebp, dword [ecx + 0x14]
mov eax, esi
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov cl, al
sar dword [esp + 0x38], cl
mov al, byte [esp + 0x38]
jmp 0x486396
test esi, esi
jle 0x486399
lea eax, [esi - 1]
mov ecx, dword [esp + 0x14]
cdq
mov dword [esp + 0x38], pe_nt_image_headers32
mov edi, dword [ecx + 0xc]
mov ecx, eax
sar ecx, 3
xor eax, edx
imul edi, dword [esp + 0x1c]
add edi, ecx
sub eax, edx
mov ecx, dword [esp + 0x14]
and eax, 7
xor eax, edx
mov ebp, dword [ecx + 0x14]
sub eax, edx
mov cl, al
sar dword [esp + 0x38], cl
mov al, byte [esp + 0x38]
or byte [edi + ebp], al
inc word [esp + 0x18]
mov cl, bl
mov ax, word [esp + 0x18]
cmp ax, word [esp + 0x84]
jne 0x4863be
inc dword [esp + 0x30]
inc dword [esp + 0x28]
mov word [esp + 0x18], 0
inc esi
cmp esi, dword [esp + 0x7c]
jl 0x48630b
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x74], eax
jne 0x48640d
cmp cl, 1
jne 0x48640d
lea eax, [esi - 1]
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + 0xc]
mov ecx, eax
cdq
imul esi, dword [esp + 0x1c]
sar ecx, 3
mov ebx, pe_nt_image_headers32
add esi, ecx
xor eax, edx
mov ecx, dword [esp + 0x14]
sub eax, edx
and eax, 7
mov edi, dword [ecx + 0x14]
xor eax, edx
sub eax, edx
mov cl, al
sar ebx, cl
or byte [esi + edi], bl
mov ax, word [esp + 0x84]
inc word [esp + 0x40]
cmp word [esp + 0x40], ax
jne 0x48642c
mov word [esp + 0x40], 0
inc dword [esp + 0x34]
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x80]
jl 0x4862be
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x30], eax
xor eax, eax
mov word [esp + 0x18], ax
mov dword [esp + 0x20], eax
cmp dword [esp + 0x7c], eax
jle 0x486a4b
mov eax, dword [esp + 0x70]
sub eax, dword [esp + 0x60]
add eax, dword [esp + 0x24]
imul eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x6c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x30]
add ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
add eax, ecx
xor cl, cl
mov dword [esp + 0x28], eax
cmp dword [esp + 0x70], edx
jge 0x4864a8
mov edx, dword [esp + 0x3c]
cmp byte [edx + eax], cl
je 0x4864a8
mov cl, 1
xor esi, esi
mov word [esp + 0x40], si
cmp dword [esp + 0x80], esi
jle 0x486581
mov eax, dword [esp + 0x28]
cmp byte [eax], 1
sbb bl, bl
inc bl
cmp cl, bl
je 0x48654a
cmp bl, 1
jne 0x48650a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], pe_nt_image_headers32
sar eax, 3
mov edi, dword [ecx + 0xc]
imul edi, esi
add edi, eax
mov ebp, dword [ecx + 0x14]
mov eax, dword [esp + 0x20]
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov cl, al
sar dword [esp + 0x24], cl
mov al, byte [esp + 0x24]
jmp 0x486547
test esi, esi
jle 0x48654a
lea edi, [esi - 1]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], pe_nt_image_headers32
mov eax, dword [esp + 0x20]
mov ebp, dword [ecx + 0x14]
imul edi, dword [ecx + 0xc]
sar eax, 3
add edi, eax
mov eax, dword [esp + 0x20]
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov cl, al
sar dword [esp + 0x24], cl
mov al, byte [esp + 0x24]
or byte [edi + ebp], al
inc word [esp + 0x40]
mov cl, bl
mov ax, word [esp + 0x40]
cmp ax, word [esp + 0x84]
jne 0x486573
mov eax, dword [esp + 0x3c]
inc dword [esp + 0x34]
mov word [esp + 0x40], 0
sub dword [esp + 0x28], eax
inc esi
cmp esi, dword [esp + 0x80]
jl 0x4864bc
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x78], eax
jne 0x4865c1
cmp cl, 1
jne 0x4865c1
dec esi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov ebx, pe_nt_image_headers32
sar eax, 3
mov edi, dword [ecx + 0x14]
imul esi, dword [ecx + 0xc]
add esi, eax
mov eax, dword [esp + 0x20]
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov cl, al
sar ebx, cl
or byte [esi + edi], bl
mov ax, word [esp + 0x84]
inc word [esp + 0x18]
cmp word [esp + 0x18], ax
jne 0x4865e0
mov word [esp + 0x18], 0
inc dword [esp + 0x30]
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x7c]
jl 0x486477
jmp 0x486a4b
mov dword [esp + 0x1c], 0
movsx eax, word [esp + 0x84]
neg eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x80], 0
jle 0x486803
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x70]
sub ecx, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov byte [esp + 0x18], 0
add ecx, dword [esp + 0x24]
imul ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x6c]
add ecx, dword [esp + 0x44]
add eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x6c], ecx
jge 0x4866a4
mov edx, ecx
mov eax, dword [esp + 0x2c]
sub edx, dword [esp + 0x6c]
cmp edx, eax
jl 0x48666d
mov edx, eax
mov esi, dword [esp + 0x28]
xor bl, bl
sub esi, edx
mov cl, byte [esp + 0x2c]
cmp cl, bl
je 0x4866a4
mov ebp, esi
xor al, al
test dl, dl
je 0x486693
mov edi, ebp
inc ebp
cmp byte [edi], 0
jne 0x48669f
inc al
cmp al, dl
jb 0x486685
sub esi, dword [esp + 0x3c]
inc bl
cmp bl, cl
jb 0x48667d
jmp 0x4866a4
mov byte [esp + 0x18], 1
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x2c]
sub eax, dword [esp + 0x34]
cmp eax, ecx
jl 0x4866b6
mov eax, ecx
xor esi, esi
mov dword [esp + 0x38], eax
cmp dword [esp + 0x7c], esi
jle 0x48679c
mov ebx, dword [esp + 0x28]
xor dl, dl
cmp byte [esp + 0x38], dl
je 0x486707
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x2c]
sub ecx, dword [esp + 0x30]
cmp ecx, eax
jl 0x4866e4
mov ecx, eax
mov edi, ebx
xor al, al
test cl, cl
je 0x4866fb
mov ebp, edi
inc edi
cmp byte [ebp], 0
jne 0x486739
inc al
cmp al, cl
jb 0x4866ec
sub ebx, dword [esp + 0x3c]
inc dl
cmp dl, byte [esp + 0x38]
jb 0x4866e4
mov byte [esp + 0x13], 0
mov al, byte [esp + 0x13]
cmp byte [esp + 0x18], al
je 0x486779
cmp al, 1
jne 0x486740
mov ecx, dword [esp + 0x14]
mov eax, esi
sar eax, 3
mov ebx, pe_nt_image_headers32
mov edi, dword [ecx + 0xc]
mov ebp, dword [ecx + 0x14]
imul edi, dword [esp + 0x1c]
add edi, eax
mov eax, esi
jmp 0x486766
mov byte [esp + 0x13], 1
jmp 0x48670c
test esi, esi
jle 0x486779
lea eax, [esi - 1]
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + 0xc]
mov ecx, eax
sar ecx, 3
mov ebx, pe_nt_image_headers32
imul edi, dword [esp + 0x1c]
add edi, ecx
mov ecx, dword [esp + 0x14]
mov ebp, dword [ecx + 0x14]
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov cl, al
sar ebx, cl
or byte [edi + ebp], bl
mov al, byte [esp + 0x13]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
inc esi
mov byte [esp + 0x18], al
add dword [esp + 0x30], ecx
add dword [esp + 0x28], edx
cmp esi, dword [esp + 0x7c]
jl 0x4866c6
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x74]
jl 0x4867e6
cmp byte [esp + 0x18], 1
jne 0x4867e6
lea eax, [esi - 1]
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + 0xc]
mov ecx, eax
cdq
imul esi, dword [esp + 0x1c]
sar ecx, 3
mov ebx, pe_nt_image_headers32
add esi, ecx
xor eax, edx
mov ecx, dword [esp + 0x14]
sub eax, edx
and eax, 7
mov edi, dword [ecx + 0x14]
xor eax, edx
sub eax, edx
mov cl, al
sar ebx, cl
or byte [esi + edi], bl
mov eax, dword [esp + 0x2c]
inc dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
add dword [esp + 0x34], eax
cmp ecx, dword [esp + 0x80]
jl 0x486627
mov dword [esp + 0x20], 0
cmp dword [esp + 0x7c], 0
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x30], eax
jle 0x486a4b
mov eax, dword [esp + 0x70]
sub eax, dword [esp + 0x60]
add eax, dword [esp + 0x24]
imul eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x6c]
mov dword [esp + 0x38], eax
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x2c]
sub ebx, dword [esp + 0x30]
cmp ebx, eax
jl 0x486849
mov ebx, eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x30]
add ecx, dword [esp + 0x44]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
add eax, ecx
xor ecx, ecx
mov dword [esp + 0x28], eax
mov byte [esp + 0x18], cl
cmp dword [esp + 0x70], edx
jge 0x4868bc
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x78]
add esi, eax
sub edx, dword [esp + 0x60]
mov eax, dword [esp + 0x2c]
cmp edx, eax
jl 0x48688b
mov edx, eax
mov byte [esp + 0x24], dl
test dl, dl
je 0x4868bc
mov edi, esi
xor dl, dl
test bl, bl
je 0x4868a9
mov eax, edi
inc edi
cmp byte [eax], 0
jne 0x4868b7
inc dl
cmp bl, dl
ja 0x48689b
sub esi, dword [esp + 0x3c]
inc cl
cmp cl, byte [esp + 0x24]
jb 0x486893
jmp 0x4868bc
mov byte [esp + 0x18], 1
mov dword [esp + 0x1c], 0
cmp dword [esp + 0x80], 0
jle 0x4869e7
mov eax, dword [esp + 0x40]
imul eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x28]
xor cl, cl
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x2c]
sub edx, dword [esp + 0x34]
cmp edx, eax
jl 0x4868f7
mov edx, eax
test dl, dl
je 0x48691b
mov ebp, edi
xor al, al
test bl, bl
je 0x486911
mov esi, ebp
inc ebp
cmp byte [esi], 0
jne 0x48696e
inc al
cmp al, bl
jb 0x486903
sub edi, dword [esp + 0x3c]
inc cl
cmp cl, dl
jb 0x4868fb
mov byte [esp + 0x13], 0
mov al, byte [esp + 0x13]
cmp byte [esp + 0x18], al
je 0x4869ba
cmp al, 1
jne 0x486975
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], pe_nt_image_headers32
sar eax, 3
mov esi, dword [ecx + 0xc]
imul esi, dword [esp + 0x1c]
add esi, eax
mov edi, dword [ecx + 0x14]
mov eax, dword [esp + 0x20]
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov cl, al
sar dword [esp + 0x18], cl
mov al, byte [esp + 0x18]
jmp 0x4869b7
mov byte [esp + 0x13], 1
jmp 0x486920
cmp dword [esp + 0x1c], 0
jle 0x4869ba
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
dec esi
mov eax, dword [esp + 0x20]
sar eax, 3
mov edi, dword [ecx + 0x14]
mov dword [esp + 0x18], pe_nt_image_headers32
imul esi, dword [ecx + 0xc]
add esi, eax
mov eax, dword [esp + 0x20]
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov cl, al
sar dword [esp + 0x18], cl
mov al, byte [esp + 0x18]
or byte [esi + edi], al
mov al, byte [esp + 0x13]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov byte [esp + 0x18], al
add dword [esp + 0x34], ecx
sub dword [esp + 0x28], edx
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x80]
jl 0x4868df
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x78]
jl 0x486a31
cmp byte [esp + 0x18], 1
jne 0x486a31
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
dec esi
mov eax, dword [esp + 0x20]
sar eax, 3
mov edi, dword [ecx + 0x14]
imul esi, dword [ecx + 0xc]
add esi, eax
mov ebx, pe_nt_image_headers32
mov eax, dword [esp + 0x20]
cdq
xor eax, edx
sub eax, edx
and eax, 7
xor eax, edx
sub eax, edx
mov cl, al
sar ebx, cl
or byte [esi + edi], bl
mov eax, dword [esp + 0x2c]
inc dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
add dword [esp + 0x30], eax
cmp ecx, dword [esp + 0x7c]
jl 0x486837
cmp dword [esp + 0x88], 0
je 0x486a72
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x48], 0
mov ecx, dword [ecx + 0x14]
je 0x486a72
mov eax, dword [esp + 0x48]
mov dl, byte [ecx]
inc ecx
not dl
dec eax
mov byte [ecx - 1], dl
jne 0x486a67
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x80]
mov eax, dword [ecx + 0x14]
mov ecx, dword [esp + 0x7c]
push eax
push 1
push 1
push edx
push ecx
call dword [0x4c22e8]
mov ecx, dword [esp + 0x58]
push eax
call fcn.004a7fea
test eax, eax
jne 0x486aab
mov ax, 0x66
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x40
ret
mov eax, dword [esp + 0x4c]
mov esi, dword [0x4c2590]
push eax
call esi
mov ecx, dword [esp + 0x4c]
push ecx
call dword [0x4c2594]
mov ecx, dword [esp + 0x54]
push ecx
call esi
xor ax, ax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x40
ret