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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x10
mov eax, dword [edx + 0x20]
push ebx
mov ebx, ecx
push ebp
mov eax, dword [eax + 0x1c]
push esi
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], ebx
mov eax, dword [eax + 0x1c]
push edi
mov edi, dword [edx + 0x44]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test esi, esi
jne 0x50f4f8
cmp dword [ebx + 0x74], esi
jne 0x50f4ed
mov eax, dword [ebx]
test byte [eax + 0x50], 8
jne 0x50f4ed
mov byte [ebx + 0x17], 1
call fcn.00497a10
mov esi, eax
mov eax, dword [esp + 0x1c]
mov edx, dword [edi + 0x30]
lea ecx, [edi + 0x30]
mov dword [esp + 0x14], ecx
lea ebp, [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x10], ebp
cmp dword [esi + 0x78], ecx
jg 0x50f526
push 0
push eax
push edx
mov edx, 0x74
mov ecx, esi
call fcn.00497c60
add esp, 0xc
jmp 0x50f556
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
xor ebp, ebp
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], ebp
lea ebp, [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x74
mov dword [eax + ecx*4 + 8], edx
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 0x74]
mov edx, dword [edx]
lea eax, [edx + 1]
cmp dword [esi + 0x78], ecx
jg 0x50f57c
push 0
push edx
push eax
mov edx, 0x71
mov ecx, esi
call fcn.00497c60
add esp, 0xc
jmp 0x50f5b0
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
xor ebp, ebp
lea ebp, [edx + 1]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x10]
mov dword [eax + ecx*4], 0x71
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x74]
mov edx, dword [eax]
lea eax, [edx + 2]
cmp dword [esi + 0x78], ecx
jg 0x50f5d6
push 0
push edx
push eax
mov edx, 0x71
mov ecx, esi
call fcn.00497c60
add esp, 0xc
jmp 0x50f60a
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
xor ebp, ebp
lea ebp, [edx + 2]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x10]
mov dword [eax + ecx*4], 0x71
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x74]
mov edx, dword [eax]
lea eax, [edx + 3]
cmp dword [esi + 0x78], ecx
jg 0x50f630
push 0
push edx
push eax
mov edx, 0x71
mov ecx, esi
call fcn.00497c60
add esp, 0xc
jmp 0x50f664
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
xor ebp, ebp
lea ebp, [edx + 3]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x10]
mov dword [eax + ecx*4], 0x71
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x50f6cd
mov ecx, dword [ecx]
mov eax, dword [ebx + 0x2c]
inc eax
mov dword [edi + 0x44], eax
add dword [ebx + 0x2c], ecx
lea eax, [ecx - 1]
mov edx, dword [edi + 0x44]
add eax, edx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x78], ecx
jg 0x50f6a0
push eax
push edx
push 0
mov edx, 0x4a
mov ecx, esi
call fcn.00497c60
add esp, 0xc
jmp 0x50f6cd
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
xor ebp, ebp
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 0x10], ebp
mov ebp, dword [esp + 0x10]
mov dword [eax + ecx*4], 0x4a
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [ebx + 0x2c]
inc edx
mov dword [ebx + 0x2c], edx
mov dword [edi + 0x54], edx
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x50f6f5
push 0
push edx
push 1
mov edx, 0x47
mov ecx, esi
call fcn.00497c60
add esp, 0xc
jmp 0x50f722
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
xor ebp, ebp
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], ebp
mov ebp, dword [esp + 0x10]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
cmp byte [edi + 0x14], 0
je 0x50f850
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
mov dword [edi + 0x58], eax
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
mov dword [edi + 0x5c], eax
mov eax, dword [ebx + 0x28]
mov dword [edi + 0x3c], eax
inc dword [ebx + 0x28]
mov ecx, dword [esi + 0x74]
mov edx, dword [edi + 0x58]
cmp dword [esi + 0x78], ecx
jg 0x50f768
push 0
push edx
push 1
mov edx, 0x47
mov ecx, esi
call fcn.00497c60
add esp, 0xc
jmp 0x50f797
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x74]
mov edx, dword [edi + 0x5c]
cmp dword [esi + 0x78], ecx
jg 0x50f7b8
push 0
push edx
push 0
mov edx, 0x47
mov ecx, esi
call fcn.00497c60
add esp, 0xc
jmp 0x50f7e7
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x74]
mov edi, dword [edi + 0x3c]
mov edx, dword [eax]
cmp dword [esi + 0x78], ecx
jg 0x50f813
push 0
push edx
push edi
mov edx, 0x71
mov ecx, esi
call fcn.00497c60
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp]
mov dword [eax + ecx*4], 0x71
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x2c]
test dword [eax + 4], 0x1000
je 0x50f978
cmp byte [edi + 0x11], 0x5a
je 0x50f978
mov eax, dword [edi + 0x48]
mov ecx, ebx
push 0
push 0
mov edx, dword [eax + 0x14]
call fcn.004e5f50
mov ecx, dword [ebx + 0x28]
mov ebp, eax
mov dword [edi + 0x3c], ecx
add esp, 8
mov eax, dword [ebx + 0x2c]
inc dword [ebx + 0x28]
inc eax
mov dword [edi + 0x40], eax
add dword [ebx + 0x2c], 3
test ebp, ebp
je 0x50f8aa
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + 0x20]
cmp byte [eax + 1], 0x69
jne 0x50f8aa
mov eax, dword [ebp + 0x10]
mov byte [eax], 1
mov ecx, dword [esi + 0x74]
mov edx, dword [edi + 0x3c]
cmp dword [esi + 0x78], ecx
jg 0x50f8cb
push 0
push 2
push edx
mov edx, 0x74
mov ecx, esi
call fcn.00497c60
add esp, 0xc
jmp 0x50f901
mov ebx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x74
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x50f919
push ebp
mov edx, 0xfffffff7
call fcn.00498770
add esp, 4
jmp 0x50f92e
mov eax, dword [esi + 0x74]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], ebp
mov edx, dword [edi + 0x40]
mov ecx, dword [esi + 0x74]
inc edx
cmp dword [esi + 0x78], ecx
jg 0x50f953
push 0
push edx
push 0
mov edx, 0x47
mov ecx, esi
call fcn.00497c60
add esp, 0xc
jmp 0x50fa0b
lea eax, [ecx + 1]
xor ebp, ebp
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], ebp
jmp 0x50fa03
mov eax, dword [eax + 0x20]
cmp eax, str.nth_value
je 0x50f99f
cmp eax, str.first_value
je 0x50f99f
cmp eax, str.lead
je 0x50f997
cmp eax, 0x5981f8
jne 0x50fa0b
mov eax, dword [ebx + 0x28]
mov dword [edi + 0x3c], eax
jmp 0x50f9b0
mov eax, dword [ebx + 0x2c]
inc eax
mov dword [edi + 0x40], eax
mov eax, dword [ebx + 0x28]
mov dword [edi + 0x3c], eax
add dword [ebx + 0x2c], 2
inc dword [ebx + 0x28]
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x74]
mov ebp, dword [edi + 0x3c]
mov edx, dword [eax]
cmp dword [esi + 0x78], ecx
jg 0x50f9d9
push 0
push edx
push ebp
mov edx, 0x71
mov ecx, esi
call fcn.00497c60
add esp, 0xc
jmp 0x50fa0b
mov ebx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4], 0x71
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 4], ebp
mov edi, dword [edi + 0x24]
test edi, edi
jne 0x50f850
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret