Function at 0x4f60e0
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x54fdc0
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x5a1574]
xor eax, esp
mov dword [esp + 0xb4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5a1574]
xor eax, esp
push eax
lea eax, [esp + 0xcc]
mov dword fs:[0], eax
mov ebx, dword [esp + 0xdc]
push 0x20
push 0xe
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], ebx
call fcn.004ee350
mov edi, dword [ebx + 0x10]
mov esi, eax
cmp dword [ebx + 0xc], edi
jbe 0x4f6142
call fcn.005168b1
mov eax, dword [ebx + 0xc]
mov ebp, dword [ebx]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x10]
jbe 0x4f6155
call fcn.005168b1
mov eax, dword [ebx]
test ebp, ebp
je 0x4f615f
cmp ebp, eax
je 0x4f6164
call fcn.005168b1
sub edi, dword [esp + 0x14]
sar edi, 1
mov dword [esi + 8], edi
mov edi, dword [ebx + 0x28]
cmp dword [ebx + 0x24], edi
jbe 0x4f617a
call fcn.005168b1
mov eax, dword [ebx + 0x24]
mov ebp, dword [ebx + 0x18]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x28]
jbe 0x4f618e
call fcn.005168b1
mov eax, dword [ebx + 0x18]
test ebp, ebp
je 0x4f6199
cmp ebp, eax
je 0x4f619e
call fcn.005168b1
sub edi, dword [esp + 0x14]
sar edi, 1
shr edi, 1
mov dword [esi + 0xc], edi
mov edi, dword [ebx + 0x50]
cmp dword [ebx + 0x4c], edi
jbe 0x4f61b6
call fcn.005168b1
mov ecx, ebx
mov ebx, dword [ecx + 0x4c]
mov ebp, dword [ecx + 0x40]
cmp ebx, dword [ecx + 0x50]
jbe 0x4f61cc
call fcn.005168b1
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x40]
test ebp, ebp
je 0x4f61d7
cmp ebp, eax
je 0x4f61e0
call fcn.005168b1
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
sub edi, ebx
sar edi, 1
mov dword [esi + 0x10], edi
mov eax, dword [ecx + 0x34]
mov dword [esi + 0x14], eax
mov ecx, dword [ecx + 0x38]
mov dword [esi + 0x18], ecx
mov edx, dword [edx]
test dword [edx + 0x20], 0x100000
je 0x4f6242
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 0x34]
mov ebx, eax
and ebx, edx
cmp ebx, edx
je 0x4f621c
mov edx, dword [edi + 0x38]
mov ebx, eax
and ebx, edx
cmp ebx, edx
jne 0x4f6224
mov edx, dword [edi + 0x3c]
or edx, eax
mov dword [esi + 0x14], edx
mov eax, dword [edi + 0x34]
mov edx, ecx
and edx, eax
cmp edx, eax
je 0x4f623a
mov eax, dword [edi + 0x38]
mov edx, ecx
and edx, eax
cmp edx, eax
jne 0x4f6242
mov eax, dword [edi + 0x3c]
or eax, ecx
mov dword [esi + 0x18], eax
mov edi, dword [esp + 0x28]
mov al, byte [edi + 0x30]
mov edx, dword [esp + 0x18]
mov byte [esi + 0x1c], al
cmp byte [edi + 0x31], 0
sete cl
mov byte [esi + 0x1d], cl
mov eax, dword [edx]
sub esi, dword [eax + 0x144]
mov dword [esp + 0x40], esi
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jbe 0x4f6273
call fcn.005168b1
mov ebp, dword [edi]
mov ebx, esi
mov esi, dword [edi + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], esi
cmp dword [edi + 0xc], esi
jbe 0x4f628c
call fcn.005168b1
mov ecx, dword [edi]
mov dword [esp + 0x2c], ecx
test ebp, ebp
je 0x4f629c
cmp ebp, dword [esp + 0x2c]
je 0x4f62a1
call fcn.005168b1
cmp ebx, esi
je 0x4f63f1
test ebp, ebp
jne 0x4f63a9
call fcn.005168b1
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4f62c2
call fcn.005168b1
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x140]
xor edx, edx
cmp byte [ebx + 1], dl
setne dl
add esi, 0x140
sub ecx, eax
add edx, 2
mov edi, edx
cmp ecx, edi
jae 0x4f62f9
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.005018e0
mov ebp, dword [esi + 8]
mov ecx, dword [esp + 0x1c]
add edi, ebp
mov dword [esi + 8], edi
test ecx, ecx
jne 0x4f63b1
call fcn.005168b1
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4f6326
call fcn.005168b1
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx]
je 0x4f6341
mov edx, dword [edx + 4]
mov edx, dword [edx]
movzx eax, al
mov al, byte [edx + eax + 0x104]
mov byte [ebp], al
test ecx, ecx
jne 0x4f63b8
call fcn.005168b1
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4f6361
call fcn.005168b1
mov ecx, dword [esp + 0x1c]
cmp byte [ebx + 1], 0
je 0x4f63c0
test ecx, ecx
jne 0x4f63bc
call fcn.005168b1
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4f6384
call fcn.005168b1
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx + 1]
je 0x4f63a0
mov edx, dword [edx + 4]
mov edx, dword [edx]
movzx eax, al
mov al, byte [edx + eax + 0x104]
mov byte [ebp + 1], al
mov byte [ebp + 2], 0
jmp 0x4f63c4
mov eax, dword [ebp]
jmp 0x4f62b8
mov eax, dword [ecx]
jmp 0x4f6318
mov eax, dword [ecx]
jmp 0x4f6353
mov eax, dword [ecx]
jmp 0x4f6376
mov byte [ebp + 1], 0
test ecx, ecx
jne 0x4f63ed
call fcn.005168b1
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4f63d9
call fcn.005168b1
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebx, 2
jmp 0x4f6292
mov eax, dword [ecx]
jmp 0x4f63cf
mov esi, dword [edi + 0x24]
cmp esi, dword [edi + 0x28]
jbe 0x4f63fe
call fcn.005168b1
mov eax, dword [edi + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x28]
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], eax
cmp dword [edi + 0x24], eax
jbe 0x4f641a
call fcn.005168b1
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x4f642f
cmp esi, dword [esp + 0x44]
je 0x4f6434
call fcn.005168b1
mov edi, dword [esp + 0x20]
cmp edi, dword [esp + 0x3c]
je 0x4f6c3d
test esi, esi
jne 0x4f6490
call fcn.005168b1
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4f6457
call fcn.005168b1
mov ebp, dword [esp + 0x18]
mov al, byte [ebp + 0xc]
mov cl, byte [edi]
mov bl, byte [edi + 1]
mov edx, dword [ebp + 4]
test al, al
je 0x4f647a
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov esi, dword [esp + 0x1c]
mov byte [esp + 0x34], cl
test al, al
je 0x4f6494
mov edx, dword [edx]
movzx eax, bl
mov al, byte [eax + edx + 0x104]
jmp 0x4f6496
mov eax, dword [esi]
jmp 0x4f644d
mov al, bl
mov byte [esp + 0x35], al
test esi, esi
jne 0x4f64f6
call fcn.005168b1
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4f64af
call fcn.005168b1
add edi, 2
test esi, esi
jne 0x4f64fa
call fcn.005168b1
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4f64c7
call fcn.005168b1
mov al, byte [ebp + 0xc]
mov cl, byte [edi]
mov edx, dword [ebp + 4]
test al, al
je 0x4f64df
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov byte [esp + 0x2c], cl
test al, al
je 0x4f64fe
movzx eax, byte [edi + 1]
mov edx, dword [edx]
mov al, byte [eax + edx + 0x104]
jmp 0x4f6501
mov eax, dword [esi]
jmp 0x4f64a5
mov eax, dword [esi]
jmp 0x4f64bd
mov al, byte [edi + 1]
mov byte [esp + 0x2d], al
mov eax, dword [esp + 0x1c]
xor ebp, ebp
cmp eax, ebp
jne 0x4f674b
call fcn.005168b1
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4f6524
call fcn.005168b1
add edi, 2
mov eax, 0xf
mov dword [esp + 0x20], edi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ebp
mov byte [esp + 0xb0], 0
mov dword [esp + 0xd4], ebp
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
test dword [ecx + 0x20], 0x200000
mov ebx, 1
mov byte [esp + 0xd4], bl
je 0x4f6752
movzx edx, byte [esp + 0x34]
mov al, byte [esp + 0x35]
mov cl, byte [esp + 0x2c]
mov byte [esp + 0x14], dl
movzx edx, byte [esp + 0x2d]
mov byte [esp + 0x15], al
test al, al
mov byte [esp + 0x16], 0
mov byte [esp + 0x24], cl
mov byte [esp + 0x25], dl
mov byte [esp + 0x26], 0
lea eax, [esp + 0x16]
jne 0x4f65b7
lea eax, [esp + 0x15]
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi + 4]
call fcn.004eed90
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 2
call fcn.0040292e
mov edi, 0x10
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x4f660a
mov edx, dword [esp + 0x94]
push edx
call fcn.00514e7a
add esp, 4
cmp byte [esp + 0x25], 0
lea eax, [esp + 0x26]
jne 0x4f6619
lea eax, [esp + 0x25]
push eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi + 4]
call fcn.004eed90
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0xe0], 3
call fcn.0040292e
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x4f6667
mov edx, dword [esp + 0x94]
push edx
call fcn.00514e7a
add esp, 4
cmp dword [esp + 0xc0], ebp
jne 0x4f66d1
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x95], 0
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 4
call fcn.0040292e
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x4f66d1
mov ecx, dword [esp + 0x94]
push ecx
call fcn.00514e7a
add esp, 4
mov edi, dword [esp + 0x88]
cmp edi, ebp
jne 0x4f6961
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x95], 0
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0x98]
push edx
lea ecx, [esp + 0x80]
mov byte [esp + 0xe0], 5
call fcn.0040292e
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0xd4], bl
jb 0x4f695a
mov eax, dword [esp + 0x94]
push eax
call fcn.00514e7a
add esp, 4
jmp 0x4f695a
mov eax, dword [eax]
jmp 0x4f651a
cmp byte [esp + 0x35], 0
je 0x4f67f1
mov edx, dword [esp + 0x34]
push edx
lea ecx, [esp + 0xb4]
push ecx
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0xbc]
call fcn.004ef890
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xb0]
mov esi, eax
cmp edx, 0x10
jae 0x4f679f
lea esi, [esp + 0xb0]
mov edi, dword [esp + 0xc0]
add esi, edi
cmp esi, ebp
je 0x4f67d0
mov ecx, eax
cmp edx, 0x10
jae 0x4f67ba
lea ecx, [esp + 0xb0]
cmp ecx, esi
ja 0x4f67d0
cmp edx, 0x10
jae 0x4f67ca
lea eax, [esp + 0xb0]
add eax, edi
cmp esi, eax
jbe 0x4f67d5
call fcn.005168b1
mov ecx, dword [esp + 0x35]
push ecx
lea eax, [esp + 0xb0]
push esi
push eax
lea edx, [esp + 0x68]
push edx
mov ecx, eax
call fcn.004ef890
jmp 0x4f6852
mov dword [esp + 0xa8], eax
mov al, byte [esp + 0x34]
mov byte [esp + 0x94], al
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x95], 0
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 6
call fcn.0040292e
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0xd4], bl
jb 0x4f6852
mov edx, dword [esp + 0x94]
push edx
call fcn.00514e7a
add esp, 4
cmp byte [esp + 0x2d], 0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x8c]
mov esi, eax
je 0x4f690a
cmp edi, 0x10
jae 0x4f6873
lea esi, [esp + 0x78]
mov edx, dword [esp + 0x88]
add esi, edx
cmp esi, ebp
je 0x4f689e
mov ecx, eax
cmp edi, 0x10
jae 0x4f688b
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x4f689e
cmp edi, 0x10
jae 0x4f6898
lea eax, [esp + 0x78]
add eax, edx
cmp esi, eax
jbe 0x4f68a3
call fcn.005168b1
mov ecx, dword [esp + 0x2c]
push ecx
lea eax, [esp + 0x78]
push esi
push eax
lea edx, [esp + 0x78]
push edx
mov ecx, eax
call fcn.004ef890
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x78]
mov esi, eax
cmp edx, 0x10
jae 0x4f68d0
lea esi, [esp + 0x78]
mov edi, dword [esp + 0x88]
add esi, edi
cmp esi, ebp
je 0x4f68fb
mov ecx, eax
cmp edx, 0x10
jae 0x4f68e8
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x4f68fb
cmp edx, 0x10
jae 0x4f68f5
lea eax, [esp + 0x78]
add eax, edi
cmp esi, eax
jbe 0x4f6900
call fcn.005168b1
mov ecx, dword [esp + 0x2d]
lea edx, [esp + 0x64]
jmp 0x4f694b
cmp edi, 0x10
jae 0x4f6913
lea esi, [esp + 0x78]
mov edx, dword [esp + 0x88]
add esi, edx
cmp esi, ebp
je 0x4f693e
mov ecx, eax
cmp edi, 0x10
jae 0x4f692b
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x4f693e
cmp edi, 0x10
jae 0x4f6938
lea eax, [esp + 0x78]
add eax, edx
cmp esi, eax
jbe 0x4f6943
call fcn.005168b1
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x54]
push ecx
push esi
lea eax, [esp + 0x7c]
push eax
push edx
mov ecx, eax
call fcn.004ef890
mov edi, dword [esp + 0x88]
cmp dword [esp + 0xc4], 0x10
mov edx, dword [esp + 0xb0]
jae 0x4f6979
lea edx, [esp + 0xb0]
mov ecx, dword [esp + 0xc0]
cmp edi, ecx
jae 0x4f6986
mov ecx, edi
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x78]
mov eax, ebx
cmp esi, 0x10
jae 0x4f699c
lea eax, [esp + 0x78]
push ecx
push edx
push eax
call fcn.0040927b
add esp, 0xc
cmp eax, ebp
jne 0x4f69c5
mov eax, dword [esp + 0xc0]
cmp edi, eax
jb 0x4f6bf7
xor ecx, ecx
cmp edi, eax
setne cl
mov eax, ecx
cmp eax, ebp
jl 0x4f6bf7
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov edx, dword [esp + 0xc0]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x140]
add esi, 0x140
lea edi, [edi + edx + 2]
sub ecx, eax
cmp ecx, edi
jae 0x4f6a02
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.005018e0
mov ebx, dword [esi + 8]
add edi, ebx
mov dword [esi + 8], edi
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb0]
mov eax, edx
cmp ecx, 0x10
jae 0x4f6a26
lea eax, [esp + 0xb0]
mov esi, dword [esp + 0xc0]
lea edi, [eax + esi]
cmp edi, ebp
je 0x4f6a5a
mov eax, edx
cmp ecx, 0x10
jae 0x4f6a42
lea eax, [esp + 0xb0]
cmp eax, edi
ja 0x4f6a5a
mov eax, edx
cmp ecx, 0x10
jae 0x4f6a54
lea eax, [esp + 0xb0]
add eax, esi
cmp edi, eax
jbe 0x4f6a6d
call fcn.005168b1
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb0]
cmp ecx, 0x10
jb 0x4f6be2
mov esi, edx
cmp edx, ebp
je 0x4f6aa9
mov eax, edx
cmp ecx, 0x10
jae 0x4f6a8a
lea eax, [esp + 0xb0]
cmp eax, esi
ja 0x4f6aa9
mov eax, edx
cmp ecx, 0x10
jae 0x4f6a9c
lea eax, [esp + 0xb0]
mov edx, dword [esp + 0xc0]
add eax, edx
cmp esi, eax
jbe 0x4f6aae
call fcn.005168b1
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x4f6ac2
push eax
push esi
push eax
push ebx
call fcn.005166cd
add esp, 0x10
mov eax, dword [esp + 0xc0]
mov byte [ebx + eax], 0
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x78]
lea ebx, [ebx + ecx + 1]
mov ecx, dword [esp + 0x8c]
mov eax, edx
cmp ecx, 0x10
jae 0x4f6aee
lea eax, [esp + 0x78]
mov esi, dword [esp + 0x88]
lea edi, [eax + esi]
cmp edi, ebp
je 0x4f6b1c
mov eax, edx
cmp ecx, 0x10
jae 0x4f6b07
lea eax, [esp + 0x78]
cmp eax, edi
ja 0x4f6b1c
mov eax, edx
cmp ecx, 0x10
jae 0x4f6b16
lea eax, [esp + 0x78]
add eax, esi
cmp edi, eax
jbe 0x4f6b2c
call fcn.005168b1
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x78]
cmp ecx, 0x10
jb 0x4f6bee
mov esi, edx
cmp edx, ebp
je 0x4f6b62
mov eax, edx
cmp ecx, 0x10
jae 0x4f6b46
lea eax, [esp + 0x78]
cmp eax, esi
ja 0x4f6b62
mov eax, edx
cmp ecx, 0x10
jae 0x4f6b55
lea eax, [esp + 0x78]
mov edx, dword [esp + 0x88]
add eax, edx
cmp esi, eax
jbe 0x4f6b67
call fcn.005168b1
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x4f6b7b
push eax
push esi
push eax
push ebx
call fcn.005166cd
add esp, 0x10
mov eax, dword [esp + 0x88]
mov byte [ebx + eax], 0
cmp dword [esp + 0x8c], 0x10
jb 0x4f6b9d
mov ecx, dword [esp + 0x78]
push ecx
call fcn.00514e7a
add esp, 4
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
mov dword [esp + 0xd4], 0xffffffff
jb 0x4f6421
mov edx, dword [esp + 0xb0]
push edx
call fcn.00514e7a
add esp, 4
jmp 0x4f6421
lea esi, [esp + 0xb0]
jmp 0x4f6a7c
lea esi, [esp + 0x78]
jmp 0x4f6b3b
cmp esi, 0x10
jb 0x4f6c05
push ebx
call fcn.00514e7a
add esp, 4
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
jb 0x4f6c36
mov eax, dword [esp + 0xb0]
push eax
call fcn.00514e7a
add esp, 4
xor eax, eax
jmp 0x4f6f7d
mov edi, dword [esp + 0x28]
mov esi, dword [edi + 0x4c]
cmp esi, dword [edi + 0x50]
jbe 0x4f6c4e
call fcn.005168b1
mov ebx, dword [edi + 0x40]
mov ebp, esi
mov esi, dword [edi + 0x50]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x3c], esi
cmp dword [edi + 0x4c], esi
jbe 0x4f6c68
call fcn.005168b1
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x44], ecx
nop
test ebx, ebx
je 0x4f6c7a
cmp ebx, dword [esp + 0x44]
je 0x4f6c7f
call fcn.005168b1
cmp ebp, esi
je 0x4f6f6a
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
mov dword [esp + 0xd4], 7
test ebx, ebx
jne 0x4f6d74
call fcn.005168b1
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4f6cc9
call fcn.005168b1
cmp byte [ebp + 1], 0
lea esi, [ebp + 1]
je 0x4f6d89
test ebx, ebx
jne 0x4f6d7b
call fcn.005168b1
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4f6cef
call fcn.005168b1
mov dl, byte [ebp]
mov byte [esp + 0x14], dl
test ebx, ebx
jne 0x4f6d82
call fcn.005168b1
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4f6d0f
call fcn.005168b1
mov al, byte [esi]
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x16]
push ecx
mov ecx, dword [esi + 4]
lea edx, [esp + 0x18]
mov byte [esp + 0x19], al
push edx
lea eax, [esp + 0xb4]
push eax
mov byte [esp + 0x22], 0
call fcn.004f43a0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 8
call fcn.0040292e
cmp dword [esp + 0xc4], 0x10
mov byte [esp + 0xd4], 7
jb 0x4f6e0c
mov ecx, dword [esp + 0xb0]
push ecx
jmp 0x4f6e04
mov eax, dword [ebx]
jmp 0x4f6cbf
mov eax, dword [ebx]
jmp 0x4f6ce5
mov eax, dword [ebx]
jmp 0x4f6d05
test ebx, ebx
jne 0x4f6f3d
call fcn.005168b1
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4f6da2
call fcn.005168b1
test ebx, ebx
jne 0x4f6f44
call fcn.005168b1
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4f6dbb
call fcn.005168b1
push esi
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push ebp
lea edx, [esp + 0xb4]
push edx
call fcn.004f43a0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 9
call fcn.0040292e
cmp dword [esp + 0xc4], 0x10
mov byte [esp + 0xd4], 7
jb 0x4f6e0c
mov eax, dword [esp + 0xb0]
push eax
call fcn.00514e7a
add esp, 4
mov edi, dword [esp + 0xa4]
test edi, edi
je 0x4f6f4f
mov esi, dword [esi]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x140]
add esi, 0x140
inc edi
sub ecx, eax
cmp ecx, edi
jae 0x4f6e44
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.005018e0
mov ebx, dword [esi + 8]
add edi, ebx
mov dword [esi + 8], edi
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x4f6e64
lea eax, [esp + 0x94]
mov edx, dword [esp + 0xa4]
lea ecx, [esp + 0x90]
push ecx
add eax, edx
push eax
lea ecx, [esp + 0x34]
call fcn.004094c6
mov eax, dword [esp + 0x94]
mov esi, 0x10
cmp dword [esp + 0xa8], esi
jae 0x4f6e9b
lea eax, [esp + 0x94]
lea edx, [esp + 0x90]
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.004094c6
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
sub eax, ecx
test eax, eax
jle 0x4f6ec7
push eax
push ecx
push eax
push ebx
call fcn.005166cd
add esp, 0x10
mov eax, dword [esp + 0xa4]
mov byte [ebx + eax], 0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4f6f4b
call fcn.005168b1
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4f6eeb
call fcn.005168b1
add ebp, 2
mov dword [esp + 0xd4], 0xffffffff
cmp dword [esp + 0xa8], esi
jb 0x4f6f12
mov ecx, dword [esp + 0x94]
push ecx
call fcn.00514e7a
add esp, 4
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
jmp 0x4f6c70
mov eax, dword [ebx]
jmp 0x4f6d98
mov eax, dword [ebx]
jmp 0x4f6db1
mov eax, dword [eax]
jmp 0x4f6ee1
lea ecx, [esp + 0x90]
mov dword [esp + 0xd4], 0xffffffff
call fcn.00425b18
xor eax, eax
jmp 0x4f6f7d
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x144]
add eax, dword [esp + 0x40]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0xcc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00516d58
add esp, 0xc4
ret 8