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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x28
push ebx
mov ebx, ecx
push ebp
push esi
push edi
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x18], edx
cmp dword [edx + 0x58], 0
je 0x50b02d
call fcn.0050a8e0
jmp 0x50b43b
mov edi, dword [ebx]
mov ebp, edx
mov dword [esp + 0x14], edi
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x20]
cmp eax, str.nth_value
je 0x50b468
cmp eax, str.first_value
je 0x50b468
cmp eax, str.lead
je 0x50b067
cmp eax, 0x592c68
jne 0x50b42c
mov eax, dword [ebp + 0x48]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x3c]
dec dword [edi + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x38]
mov dword [esp + 0x28], eax
mov al, byte [edi + 0x13]
mov dword [esp + 0x30], ecx
test al, al
jne 0x50b093
inc dword [edi + 0x2c]
mov ebx, dword [edi + 0x2c]
jmp 0x50b0a2
dec al
mov byte [edi + 0x13], al
movzx eax, al
mov ebx, dword [edi + eax*4 + 0x98]
mov eax, dword [edx + 0x30]
cmp ecx, 3
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x20], eax
jge 0x50b103
cmp dword [esi + 0x78], ecx
jg 0x50b0d6
push 0
push eax
push 0
mov edx, 0x4a
mov ecx, esi
call fcn.00491ae0
add esp, 0xc
jmp 0x50b158
mov edx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x4a
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x50b150
mov edx, dword [ebp + 0x50]
add edx, 2
cmp dword [esi + 0x78], ecx
jg 0x50b125
push eax
push edx
push dword [esp + 0x24]
mov edx, 0x5d
mov ecx, esi
call fcn.00491ae0
add esp, 0xc
jmp 0x50b158
mov edi, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x14]
mov dword [eax + ecx*4], 0x5d
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x50b178
push 0
push ebx
push dword [esp + 0x24]
mov edx, 0x86
mov ecx, esi
call fcn.00491ae0
add esp, 0xc
jmp 0x50b1a7
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x86
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x30], 2
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x20]
jge 0x50b229
xor edx, edx
cmp ecx, str.lead
mov ecx, dword [esi + 0x74]
sete dl
lea edx, [edx*2 - 1]
cmp dword [esi + 0x78], ecx
jg 0x50b1ee
push 0
push edx
push ebx
mov edx, 0x55
mov ecx, esi
call fcn.00491ae0
lea eax, [ebp + 0x50]
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x50b338
mov edi, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x55
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [ebp + 0x50]
mov dword [esp + 0x20], eax
jmp 0x50b338
xor eax, eax
cmp ecx, str.lead
setne al
add eax, 0x6a
mov dword [esp + 0x2c], eax
mov al, byte [edi + 0x13]
test al, al
jne 0x50b24a
inc dword [edi + 0x2c]
mov edx, dword [edi + 0x2c]
jmp 0x50b259
dec al
mov byte [edi + 0x13], al
movzx eax, al
mov edx, dword [edi + eax*4 + 0x98]
mov eax, dword [ebp + 0x50]
mov ecx, dword [esi + 0x74]
inc eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], eax
cmp dword [esi + 0x78], ecx
jg 0x50b288
push edx
push eax
push dword [esp + 0x24]
mov edx, 0x5d
mov ecx, esi
call fcn.00491ae0
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x50b2bb
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x5d
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x50b2da
push ebx
push ebx
push edx
mov edx, dword [esp + 0x38]
mov ecx, esi
call fcn.00491ae0
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x50b311
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea ecx, [ebp + 0x50]
mov dword [esp + 0x20], ecx
test edx, edx
je 0x50b338
mov al, byte [edi + 0x13]
mov dword [esp + 0x20], ecx
cmp al, 8
jae 0x50b338
movzx eax, al
mov dword [esp + 0x20], ecx
mov dword [edi + eax*4 + 0x98], edx
inc byte [edi + 0x13]
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x50b35b
mov edx, dword [esp + 0x28]
mov ecx, esi
push ebx
push edx
push dword [esp + 0x2c]
mov edx, 0x20
call fcn.00491ae0
add esp, 0xc
jmp 0x50b38a
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x74]
mov edx, dword [ebp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
cmp dword [esi + 0x78], ecx
jg 0x50b3b6
push edx
push eax
push dword [esp + 0x2c]
mov edx, 0x5d
mov ecx, esi
call fcn.00491ae0
add esp, 0xc
jmp 0x50b3e9
mov edi, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x5d
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x30]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x14]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x28]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x50b407
push edx
mov edx, esi
call fcn.00492300
add esp, 4
jmp 0x50b410
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4], eax
mov edx, dword [esp + 0x18]
test ebx, ebx
je 0x50b42c
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x50b42c
movzx eax, al
mov dword [edi + eax*4 + 0x98], ebx
inc byte [edi + 0x13]
mov ebp, dword [ebp + 0x24]
test ebp, ebp
jne 0x50b035
mov ebx, dword [esp + 0x34]
mov ecx, dword [esi + 0x74]
mov edx, dword [ebx + 0xc]
mov edi, dword [ebx + 0x10]
cmp dword [esi + 0x78], ecx
jg 0x50b6d8
push 0
push edx
push edi
mov edx, 0xc
mov ecx, esi
call fcn.00491ae0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x3c]
dec dword [edi + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x38]
mov dword [esp + 0x28], eax
mov al, byte [edi + 0x13]
test al, al
jne 0x50b488
inc dword [edi + 0x2c]
mov ebx, dword [edi + 0x2c]
jmp 0x50b497
dec al
mov byte [edi + 0x13], al
movzx eax, al
mov ebx, dword [edi + eax*4 + 0x98]
mov ecx, dword [esi + 0x74]
mov edx, dword [ebp + 0x38]
cmp dword [esi + 0x78], ecx
jg 0x50b4b8
push 0
push edx
push 0
mov edx, 0x4a
mov ecx, esi
call fcn.00491ae0
add esp, 0xc
jmp 0x50b4eb
mov edi, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x4a
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 + 0x2c]
mov ecx, dword [esi + 0x74]
cmp dword [eax + 0x20], 0x593248
jne 0x50b573
mov eax, dword [esp + 0x18]
mov edx, dword [ebp + 0x50]
inc edx
mov eax, dword [eax + 0x30]
mov dword [esp + 0x30], eax
cmp dword [esi + 0x78], ecx
jg 0x50b534
push ebx
push edx
push eax
mov edx, 0x5d
mov ecx, esi
call fcn.00491ae0
add esp, 0xc
mov edx, ebx
mov ecx, edi
push 2
call fcn.00509890
add esp, 4
jmp 0x50b5bd
mov edi, dword [esp + 0x30]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
push 2
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x18]
mov dword [eax + ecx*4 + 8], edx
mov edx, ebx
mov dword [eax + ecx*4], 0x5d
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, edi
call fcn.00509890
add esp, 4
jmp 0x50b5bd
cmp dword [esi + 0x78], ecx
jg 0x50b58e
push 0
push ebx
push 1
mov edx, 0x47
mov ecx, esi
call fcn.00491ae0
add esp, 0xc
jmp 0x50b5bd
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x74]
mov edx, dword [ebp + 0x40]
cmp dword [esi + 0x78], ecx
jg 0x50b5dc
push ebx
push edx
push ebx
mov edx, 0x6a
mov ecx, esi
call fcn.00491ae0
add esp, 0xc
jmp 0x50b607
mov edi, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x6a
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebp + 0x40]
mov ecx, dword [esi + 0x74]
inc edx
cmp dword [esi + 0x78], ecx
jg 0x50b62a
push ebx
push dword [esp + 0x2c]
mov ecx, esi
push edx
mov edx, 0x36
call fcn.00491ae0
add esp, 0xc
jmp 0x50b659
mov edi, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x36
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x50b679
push ebx
push 0
push dword [esp + 0x2c]
mov edx, 0x20
mov ecx, esi
call fcn.00491ae0
add esp, 0xc
jmp 0x50b6a8
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x74]
mov eax, dword [ebp + 0x50]
mov edx, dword [ebp + 0x38]
mov dword [esp + 0x30], eax
cmp dword [esi + 0x78], ecx
jg 0x50b3b6
push edx
push eax
push dword [esp + 0x2c]
mov edx, 0x5d
mov ecx, esi
call fcn.00491ae0
add esp, 0xc
jmp 0x50b3e9
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4 + 4], edi
pop edi
mov dword [eax + ecx*4], 0xc
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret