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

Disassembly:
push 0xffffffffffffffff
push 0x5bee19
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push ebp
push esi
push edi
mov eax, dword [0x629688]
xor eax, esp
push eax
lea eax, [esp + 0x6c]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x48], 0
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xc]
test esi, esi
je 0x4f745b
lea eax, [esi - 1]
lea eax, [edx + eax*4]
lea esp, [esp]
cmp dword [eax], 0
jne 0x4f74ba
sub eax, 4
dec esi
jne 0x4f7450
xor edi, edi
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x30], edi
mov esi, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
test esi, esi
je 0x4f7483
lea eax, [esi - 1]
lea eax, [ecx + eax*4]
cmp dword [eax], 0
jne 0x4f74d3
sub eax, 4
dec esi
jne 0x4f7478
xor ecx, ecx
cmp ecx, edi
lea eax, [esp + 0x30]
lea edx, [esp + 0x2c]
cmovae eax, edx
mov dword [esp + 0x2c], ecx
mov eax, dword [eax]
mov dword [esp + 0x44], eax
test eax, eax
jne 0x4f74ec
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
mov ecx, dword [esp + 0x7c]
push eax
call fcn.004f2260
mov eax, dword [esp + 0x7c]
jmp 0x4f7f3d
test esi, esi
je 0x4f745b
lea ecx, [edx - 4]
lea ecx, [ecx + esi*4]
call fcn.004c7250
lea edi, [esi - 1]
shl edi, 5
add edi, eax
jmp 0x4f745d
test esi, esi
je 0x4f7483
lea ecx, [ecx + esi*4]
add ecx, 0xfffffffc
call fcn.004c7250
lea ecx, [esi - 1]
shl ecx, 5
add ecx, eax
jmp 0x4f7485
cmp eax, 0x2e
ja 0x4f74f8
mov ecx, 1
jmp 0x4f7506
mov ecx, 0x104
cmp ecx, eax
sbb ecx, ecx
neg ecx
add ecx, 2
mov esi, 1
shl esi, cl
mov dword [esp + 0x20], ecx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov eax, esi
shl eax, cl
lea ecx, [esp + 0x4c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x54], 0
push eax
mov dword [esp + 0x20], eax
call fcn.004f8a50
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x74], 1
mov edi, dword [esp + 0x4c]
push ebx
lea ebp, [edi + 0x14]
mov ecx, ebp
mov dword [esp + 0x28], ebp
call fcn.004f2520
lea eax, [esi + esi*4]
shl eax, 2
mov dword [esp + 0x38], eax
add eax, edi
mov edi, dword [esp + 0x88]
push edi
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.004f2520
cmp dword [esp + 0x20], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
jne 0x4f75a4
mov esi, dword [esp + 0x4c]
push edi
push ebx
call dword [eax + 0xc]
push eax
lea ecx, [esi + 0x3c]
call fcn.004f2520
jmp 0x4f7a0e
mov ebx, dword [esp + 0x4c]
push dword [esp + 0x80]
add ebx, 0x28
call dword [eax + 0x18]
push eax
mov ecx, ebx
call fcn.004f2520
mov ecx, dword [esp + 0x14]
lea eax, [esi + esi*4]
mov esi, dword [esp + 0x4c]
shl eax, 3
add esi, eax
mov dword [esp + 0x40], eax
mov eax, dword [ecx]
push edi
mov dword [esp + 0x40], esi
call dword [eax + 0x18]
push eax
mov ecx, esi
call fcn.004f2520
mov esi, dword [esp + 0x18]
cmp esi, 3
jbe 0x4f762b
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x14]
lea edi, [edi - 4]
shr edi, 1
add esi, 0x3c
inc edi
mov edx, dword [ebp]
push ebx
lea eax, [esi - 0x28]
push eax
mov ecx, ebp
call dword [edx + 0xc]
push eax
mov ecx, esi
call fcn.004f2520
add esi, 0x28
dec edi
jne 0x4f7601
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x88]
mov esi, dword [esp + 0x18]
mov eax, 1
mov dword [esp + 0x28], eax
cmp esi, eax
jbe 0x4f7774
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
add ecx, 0x20
mov dword [esp + 0x2c], ecx
jmp 0x4f7650
lea ebx, [eax + esi]
cmp ebx, edx
jae 0x4f7750
mov esi, ecx
lea ecx, [ecx]
mov ecx, dword [esp + 0x14]
push edi
mov eax, dword [ecx]
push ebp
call dword [eax + 0xc]
mov edi, eax
lea ecx, [esi - 0xc]
cmp ecx, edi
je 0x4f771f
mov edx, dword [edi + 8]
cmp dword [esi - 4], edx
jne 0x4f768d
mov ecx, dword [edi + 0xc]
mov eax, edx
shr eax, 1
cmp dword [ecx + eax*4], 0
jne 0x4f76ff
mov eax, dword [edi + 0xc]
test edx, edx
je 0x4f76ab
lea eax, [eax + edx*4]
add eax, 0xfffffffc
lea ebx, [ebx]
cmp dword [eax], 0
jne 0x4f76ab
sub eax, 4
dec edx
jne 0x4f76a0
cmp edx, 8
ja 0x4f76b9
mov edx, dword [edx*4 + 0x5e07fc]
jmp 0x4f76f6
cmp edx, 0x10
ja 0x4f76c5
mov edx, 0x10
jmp 0x4f76f6
cmp edx, 0x20
ja 0x4f76d1
mov edx, 0x20
jmp 0x4f76f6
cmp edx, 0x40
ja 0x4f76dd
mov edx, 0x40
jmp 0x4f76f6
lea eax, [edx - 1]
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], eax
call fcn.004c7250
mov edx, 1
mov ecx, eax
shl edx, cl
push edx
lea ecx, [esi - 8]
call fcn.004f5440
mov ecx, dword [edi + 0xc]
mov edx, dword [esi]
mov eax, dword [esi - 4]
cmp edx, ecx
je 0x4f7719
shl eax, 2
push eax
push ecx
push edx
call fcn.00587170
add esp, 0xc
mov eax, dword [edi + 0x10]
mov dword [esi + 4], eax
add ebx, dword [esp + 0x18]
add ebp, dword [esp + 0x38]
add esi, dword [esp + 0x38]
mov edi, dword [esp + 0x88]
cmp ebx, dword [esp + 0x1c]
jb 0x4f7660
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x88]
add eax, 2
add ebp, 0x28
add ecx, 0x28
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x2c], ecx
cmp eax, esi
jb 0x4f7650
mov eax, dword [esp + 0x1c]
lea ebx, [esi + esi*2]
cmp ebx, eax
jae 0x4f7882
lea ecx, [esi + esi]
mov eax, ebx
sub eax, ecx
mov ecx, dword [esp + 0x4c]
lea esi, [ebx*4 + 3]
lea eax, [eax + eax*4]
add esi, ebx
lea ebp, [ecx + eax*4]
lea esi, [ecx + esi*4]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x3c]
mov eax, dword [ecx]
push ebp
call dword [eax + 0xc]
mov edi, eax
lea ecx, [esi - 0xc]
cmp ecx, edi
je 0x4f7865
mov edx, dword [edi + 8]
cmp dword [esi - 4], edx
jne 0x4f77d0
mov ecx, dword [edi + 0xc]
mov eax, edx
shr eax, 1
cmp dword [ecx + eax*4], 0
jne 0x4f7845
mov eax, dword [edi + 0xc]
test edx, edx
je 0x4f77eb
lea eax, [eax + edx*4]
add eax, 0xfffffffc
lea ecx, [ecx]
cmp dword [eax], 0
jne 0x4f77eb
sub eax, 4
dec edx
jne 0x4f77e0
cmp edx, 8
ja 0x4f77f9
mov edx, dword [edx*4 + 0x5e07fc]
jmp 0x4f783c
cmp edx, 0x10
ja 0x4f7805
mov edx, 0x10
jmp 0x4f783c
cmp edx, 0x20
ja 0x4f7811
mov edx, 0x20
jmp 0x4f783c
cmp edx, 0x40
ja 0x4f781d
mov edx, 0x40
jmp 0x4f783c
lea eax, [edx - 1]
lea ecx, [esp + 0x88]
mov dword [esp + 0x88], eax
call fcn.004c7250
mov edx, 1
mov ecx, eax
shl edx, cl
push edx
lea ecx, [esi - 8]
call fcn.004f5440
mov ecx, dword [edi + 0xc]
mov edx, dword [esi]
mov eax, dword [esi - 4]
cmp edx, ecx
je 0x4f785f
shl eax, 2
push eax
push ecx
push edx
call fcn.00587170
add esp, 0xc
mov eax, dword [edi + 0x10]
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add ebp, dword [esp + 0x40]
add esi, dword [esp + 0x40]
lea ebx, [ebx + ecx*2]
cmp ebx, eax
jb 0x4f77a0
mov esi, ecx
mov edx, esi
mov dword [esp + 0x2c], edx
cmp esi, eax
jae 0x4f7a12
mov ebx, dword [esp + 0x30]
add esi, esi
add ebx, 0x34
lea eax, [esi + esi*4]
shl eax, 2
mov dword [esp + 0x3c], eax
mov eax, 2
sub eax, dword [esp + 0x18]
mov ecx, esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], eax
mov edi, edi
add eax, ecx
cmp eax, ecx
jae 0x4f79ec
mov esi, ecx
sub esi, eax
dec esi
shr esi, 1
inc esi
mov dword [esp + 0x88], esi
lea esp, [esp]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x80]
mov edx, dword [ecx]
lea eax, [ebx - 0x20]
push eax
call dword [edx + 0xc]
mov ebp, eax
lea ecx, [ebx - 0xc]
cmp ecx, ebp
je 0x4f79cb
mov edx, dword [ebp + 8]
cmp dword [ebx - 4], edx
jne 0x4f791a
mov ecx, dword [ebp + 0xc]
mov eax, edx
shr eax, 1
cmp dword [ecx + eax*4], 0
jne 0x4f79ab
mov eax, dword [ebp + 0xc]
test edx, edx
je 0x4f7932
lea eax, [eax + edx*4]
add eax, 0xfffffffc
cmp dword [eax], 0
jne 0x4f7932
sub eax, 4
dec edx
jne 0x4f7927
cmp edx, 8
ja 0x4f7940
mov eax, dword [edx*4 + 0x5e07fc]
jmp 0x4f79a2
cmp edx, 0x10
ja 0x4f794c
mov eax, 0x10
jmp 0x4f79a2
cmp edx, 0x20
ja 0x4f7958
mov eax, 0x20
jmp 0x4f79a2
cmp edx, 0x40
ja 0x4f7964
mov eax, 0x40
jmp 0x4f79a2
lea edi, [edx - 1]
test edi, edi
jne 0x4f796f
xor edx, edx
jmp 0x4f7999
xor esi, esi
mov edx, 0x20
lea ecx, [edx + esi]
shr ecx, 1
mov eax, edi
shr eax, cl
test eax, eax
je 0x4f7987
mov esi, ecx
jmp 0x4f7989
mov edx, ecx
mov eax, edx
sub eax, esi
cmp eax, 1
ja 0x4f7976
mov esi, dword [esp + 0x88]
mov eax, 1
mov ecx, edx
shl eax, cl
push eax
lea ecx, [ebx - 8]
call fcn.004f5440
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebx]
mov eax, dword [ebx - 4]
cmp edx, ecx
je 0x4f79c5
shl eax, 2
push eax
push ecx
push edx
call fcn.00587170
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov dword [ebx + 4], eax
add ebx, 0x28
dec esi
mov dword [esp + 0x88], esi
jne 0x4f78e0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x40]
add ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
add edx, esi
add ecx, esi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], ecx
cmp edx, dword [esp + 0x1c]
jb 0x4f78c0
mov esi, dword [esp + 0x18]
cmp dword [0x631aa8], 0
jne 0x4f7a2a
call fcn.004f0b80
mov dword [0x631aa8], 0x4e6330
mov ecx, 2
mov dword [esp + 0x58], vtable.CryptoPP::Integer.0
mov dword [esp + 0x60], 2
call fcn.004c7980
mov ecx, 8
call fcn.0044a420
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0
mov dword [eax + 4], 0
mov eax, dword [esp + 0x64]
mov dword [eax], 0
mov ebp, dword [esp + 0x44]
xor ecx, ecx
xor ebx, ebx
dec ebp
mov byte [esp + 0x74], 2
mov dword [esp + 0x80], ecx
mov byte [esp + 0x88], 1
mov edi, ebp
mov dword [esp + 0x28], ebp
js 0x4f7ec3
mov eax, dword [esp + 0x84]
mov edx, edi
shr edx, 5
cmp edx, dword [eax + 8]
jb 0x4f7aa9
xor al, al
jmp 0x4f7abf
mov eax, dword [eax + 0xc]
mov ecx, edi
mov eax, dword [eax + edx*4]
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x80]
and al, 1
movzx eax, al
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], ecx
cmp edx, dword [eax + 8]
jb 0x4f7adc
xor al, al
jmp 0x4f7af2
mov eax, dword [eax + 0xc]
mov ecx, edi
mov eax, dword [eax + edx*4]
and ecx, 0x1f
shr eax, cl
mov ecx, dword [esp + 0x80]
and al, 1
movzx eax, al
lea ebx, [eax + ebx*2]
mov dword [esp + 0x30], ebx
test edi, edi
je 0x4f7b12
lea eax, [ecx + ecx]
cmp eax, esi
jae 0x4f7b12
lea eax, [ebx + ebx]
cmp eax, esi
jb 0x4f7eb8
sub ebp, edi
mov esi, ebp
xor ebp, ebp
mov dword [esp + 0x40], edi
lea esp, [esp]
test ecx, ecx
jne 0x4f7b28
test ebx, ebx
je 0x4f7b3a
test cl, 1
jne 0x4f7b3a
test bl, 1
jne 0x4f7b3a
shr ecx, 1
shr ebx, 1
dec esi
inc ebp
jmp 0x4f7b20
cmp byte [esp + 0x88], 0
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x80], ecx
mov dword [esp + 0x30], ebx
je 0x4f7cc0
mov ecx, dword [esp + 0x20]
shl ebx, cl
mov ecx, dword [esp + 0x4c]
add ebx, dword [esp + 0x80]
lea eax, [ebx + ebx*4]
lea ebx, [ecx + eax*4]
lea eax, [esp + 0x58]
cmp eax, ebx
je 0x4f7c43
mov edx, dword [ebx + 8]
cmp dword [esp + 0x60], edx
jne 0x4f7b94
mov ecx, dword [ebx + 0xc]
mov eax, edx
shr eax, 1
cmp dword [ecx + eax*4], 0
jne 0x4f7c1f
mov eax, dword [ebx + 0xc]
test edx, edx
je 0x4f7bac
lea eax, [eax + edx*4]
add eax, 0xfffffffc
cmp dword [eax], 0
jne 0x4f7bac
sub eax, 4
dec edx
jne 0x4f7ba1
cmp edx, 8
ja 0x4f7bba
mov eax, dword [edx*4 + 0x5e07fc]
jmp 0x4f7c15
cmp edx, 0x10
ja 0x4f7bc6
mov eax, 0x10
jmp 0x4f7c15
cmp edx, 0x20
ja 0x4f7bd2
mov eax, 0x20
jmp 0x4f7c15
cmp edx, 0x40
ja 0x4f7bde
mov eax, 0x40
jmp 0x4f7c15
lea edi, [edx - 1]
test edi, edi
jne 0x4f7be9
xor edx, edx
jmp 0x4f7c0c
xor esi, esi
mov edx, 0x20
lea ecx, [edx + esi]
shr ecx, 1
mov eax, edi
shr eax, cl
test eax, eax
je 0x4f7c01
mov esi, ecx
jmp 0x4f7c03
mov edx, ecx
mov eax, edx
sub eax, esi
cmp eax, 1
ja 0x4f7bf0
mov eax, 1
mov ecx, edx
shl eax, cl
push eax
lea ecx, [esp + 0x60]
call fcn.004f5440
mov edx, dword [ebx + 0xc]
mov ecx, dword [esp + 0x64]
cmp ecx, edx
je 0x4f7c3c
mov eax, dword [esp + 0x60]
shl eax, 2
push eax
push edx
push ecx
call fcn.00587170
add esp, 0xc
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x68], eax
mov byte [esp + 0x88], 0
mov esi, dword [esp + 0x14]
test ebp, ebp
je 0x4f7ea1
mov eax, dword [esi]
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
dec ebp
call dword [eax + 0x18]
mov ebx, eax
lea eax, [esp + 0x58]
cmp eax, ebx
je 0x4f7e99
mov ecx, dword [ebx + 8]
cmp dword [esp + 0x60], ecx
jne 0x4f7c8c
mov edx, dword [ebx + 0xc]
mov eax, ecx
shr eax, 1
cmp dword [edx + eax*4], 0
jne 0x4f7e75
mov eax, dword [ebx + 0xc]
test ecx, ecx
je 0x4f7cab
lea eax, [eax + ecx*4]
add eax, 0xfffffffc
lea esp, [esp]
cmp dword [eax], 0
jne 0x4f7cab
sub eax, 4
dec ecx
jne 0x4f7ca0
cmp ecx, 8
ja 0x4f7e0c
mov eax, dword [ecx*4 + 0x5e07fc]
jmp 0x4f7e6b
test esi, esi
je 0x4f7dd3
mov ebx, dword [esp + 0x14]
lea esp, [esp]
mov eax, dword [ebx]
lea ecx, [esp + 0x58]
push ecx
dec esi
mov ecx, ebx
mov dword [esp + 0x48], esi
call dword [eax + 0x18]
mov ebp, eax
lea eax, [esp + 0x58]
cmp eax, ebp
je 0x4f7dbc
mov edx, dword [ebp + 8]
cmp dword [esp + 0x60], edx
jne 0x4f7d09
mov ecx, dword [ebp + 0xc]
mov eax, edx
shr eax, 1
cmp dword [ecx + eax*4], 0
jne 0x4f7d98
mov eax, dword [ebp + 0xc]
test edx, edx
je 0x4f7d21
lea eax, [eax + edx*4]
add eax, 0xfffffffc
cmp dword [eax], 0
jne 0x4f7d21
sub eax, 4
dec edx
jne 0x4f7d16
cmp edx, 8
ja 0x4f7d2f
mov eax, dword [edx*4 + 0x5e07fc]
jmp 0x4f7d8e
cmp edx, 0x10
ja 0x4f7d3b
mov eax, 0x10
jmp 0x4f7d8e
cmp edx, 0x20
ja 0x4f7d47
mov eax, 0x20
jmp 0x4f7d8e
cmp edx, 0x40
ja 0x4f7d53
mov eax, 0x40
jmp 0x4f7d8e
lea edi, [edx - 1]
test edi, edi
jne 0x4f7d5e
xor edx, edx
jmp 0x4f7d85
xor esi, esi
mov edx, 0x20
lea ecx, [edx + esi]
shr ecx, 1
mov eax, edi
shr eax, cl
test eax, eax
je 0x4f7d76
mov esi, ecx
jmp 0x4f7d78
mov edx, ecx
mov eax, edx
sub eax, esi
cmp eax, 1
ja 0x4f7d65
mov esi, dword [esp + 0x44]
mov eax, 1
mov ecx, edx
shl eax, cl
push eax
lea ecx, [esp + 0x60]
call fcn.004f5440
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x64]
cmp ecx, edx
je 0x4f7db5
mov eax, dword [esp + 0x60]
shl eax, 2
push eax
push edx
push ecx
call fcn.00587170
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x68], eax
test esi, esi
jne 0x4f7cd0
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0x2c]
test ecx, ecx
jne 0x4f7ddf
test ebx, ebx
je 0x4f7c4b
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
shl ebx, cl
mov ecx, dword [esp + 0x4c]
mov edx, dword [esi]
add ebx, dword [esp + 0x80]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
push eax
lea eax, [esp + 0x5c]
push eax
mov ecx, esi
call dword [edx + 0x20]
jmp 0x4f7c4f
cmp ecx, 0x10
ja 0x4f7e18
mov eax, 0x10
jmp 0x4f7e6b
cmp ecx, 0x20
ja 0x4f7e24
mov eax, 0x20
jmp 0x4f7e6b
cmp ecx, 0x40
ja 0x4f7e30
mov eax, 0x40
jmp 0x4f7e6b
lea edi, [ecx - 1]
test edi, edi
jne 0x4f7e3b
xor edx, edx
jmp 0x4f7e62
xor esi, esi
mov edx, 0x20
lea ecx, [edx + esi]
shr ecx, 1
mov eax, edi
shr eax, cl
test eax, eax
je 0x4f7e53
mov esi, ecx
jmp 0x4f7e55
mov edx, ecx
mov eax, edx
sub eax, esi
cmp eax, 1
ja 0x4f7e42
mov esi, dword [esp + 0x14]
mov eax, 1
mov ecx, edx
shl eax, cl
push eax
lea ecx, [esp + 0x60]
call fcn.004f5440
mov edx, dword [ebx + 0xc]
mov ecx, dword [esp + 0x64]
cmp ecx, edx
je 0x4f7e92
mov eax, dword [esp + 0x60]
shl eax, 2
push eax
push edx
push ecx
call fcn.00587170
add esp, 0xc
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x68], eax
test ebp, ebp
jne 0x4f7c57
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x18]
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x80], ecx
dec edi
mov dword [esp + 0x28], edi
jns 0x4f7a94
mov ebx, dword [esp + 0x7c]
lea eax, [esp + 0x58]
push eax
mov ecx, ebx
call fcn.004f2260
mov byte [esp + 0x74], 1
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
xor eax, eax
mov edi, esi
mov ecx, edx
rep stosd dword es:[edi], eax
lea eax, [edx*4]
mov dword [esp + 0x48], 1
push esi
cmp eax, 0x10
jb 0x4f7f04
call fcn.0058f1df
jmp 0x4f7f09
call fcn.005864b7
mov byte [esp + 0x78], 0
mov ebp, dword [esp + 0x50]
add esp, 4
test ebp, ebp
je 0x4f7f3b
mov edi, dword [esp + 0x50]
mov esi, ebp
cmp ebp, edi
je 0x4f7f32
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax]
add esi, 0x14
cmp esi, edi
jne 0x4f7f23
push ebp
call fcn.0058603b
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x6c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0x14