Function at 0x5092d0
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 0x5092fd
call fcn.00508bb0
jmp 0x50970b
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 0x509738
cmp eax, str.first_value
je 0x509738
cmp eax, str.lead
je 0x509337
cmp eax, 0x58cd88
jne 0x5096fc
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 0x509363
inc dword [edi + 0x2c]
mov ebx, dword [edi + 0x2c]
jmp 0x509372
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 0x5093d3
cmp dword [esi + 0x78], ecx
jg 0x5093a6
push 0
push eax
push 0
mov edx, 0x4a
mov ecx, esi
call fcn.0048fdb0
add esp, 0xc
jmp 0x509428
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 0x509420
mov edx, dword [ebp + 0x50]
add edx, 2
cmp dword [esi + 0x78], ecx
jg 0x5093f5
push eax
push edx
push dword [esp + 0x24]
mov edx, 0x5d
mov ecx, esi
call fcn.0048fdb0
add esp, 0xc
jmp 0x509428
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 0x509448
push 0
push ebx
push dword [esp + 0x24]
mov edx, 0x86
mov ecx, esi
call fcn.0048fdb0
add esp, 0xc
jmp 0x509477
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 0x5094f9
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 0x5094be
push 0
push edx
push ebx
mov edx, 0x55
mov ecx, esi
call fcn.0048fdb0
lea eax, [ebp + 0x50]
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x509608
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 0x509608
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 0x50951a
inc dword [edi + 0x2c]
mov edx, dword [edi + 0x2c]
jmp 0x509529
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 0x509558
push edx
push eax
push dword [esp + 0x24]
mov edx, 0x5d
mov ecx, esi
call fcn.0048fdb0
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x50958b
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 0x5095aa
push ebx
push ebx
push edx
mov edx, dword [esp + 0x38]
mov ecx, esi
call fcn.0048fdb0
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x5095e1
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 0x509608
mov al, byte [edi + 0x13]
mov dword [esp + 0x20], ecx
cmp al, 8
jae 0x509608
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 0x50962b
mov edx, dword [esp + 0x28]
mov ecx, esi
push ebx
push edx
push dword [esp + 0x2c]
mov edx, 0x20
call fcn.0048fdb0
add esp, 0xc
jmp 0x50965a
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 0x509686
push edx
push eax
push dword [esp + 0x2c]
mov edx, 0x5d
mov ecx, esi
call fcn.0048fdb0
add esp, 0xc
jmp 0x5096b9
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 0x5096d7
push edx
mov edx, esi
call fcn.004905d0
add esp, 4
jmp 0x5096e0
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 0x5096fc
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x5096fc
movzx eax, al
mov dword [edi + eax*4 + 0x98], ebx
inc byte [edi + 0x13]
mov ebp, dword [ebp + 0x24]
test ebp, ebp
jne 0x509305
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 0x5099a8
push 0
push edx
push edi
mov edx, 0xc
mov ecx, esi
call fcn.0048fdb0
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 0x509758
inc dword [edi + 0x2c]
mov ebx, dword [edi + 0x2c]
jmp 0x509767
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 0x509788
push 0
push edx
push 0
mov edx, 0x4a
mov ecx, esi
call fcn.0048fdb0
add esp, 0xc
jmp 0x5097bb
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], 0x58d368
jne 0x509843
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 0x509804
push ebx
push edx
push eax
mov edx, 0x5d
mov ecx, esi
call fcn.0048fdb0
add esp, 0xc
mov edx, ebx
mov ecx, edi
push 2
call fcn.00507b60
add esp, 4
jmp 0x50988d
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.00507b60
add esp, 4
jmp 0x50988d
cmp dword [esi + 0x78], ecx
jg 0x50985e
push 0
push ebx
push 1
mov edx, 0x47
mov ecx, esi
call fcn.0048fdb0
add esp, 0xc
jmp 0x50988d
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 0x5098ac
push ebx
push edx
push ebx
mov edx, 0x6a
mov ecx, esi
call fcn.0048fdb0
add esp, 0xc
jmp 0x5098d7
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 0x5098fa
push ebx
push dword [esp + 0x2c]
mov ecx, esi
push edx
mov edx, 0x36
call fcn.0048fdb0
add esp, 0xc
jmp 0x509929
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 0x509949
push ebx
push 0
push dword [esp + 0x2c]
mov edx, 0x20
mov ecx, esi
call fcn.0048fdb0
add esp, 0xc
jmp 0x509978
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 0x509686
push edx
push eax
push dword [esp + 0x2c]
mov edx, 0x5d
mov ecx, esi
call fcn.0048fdb0
add esp, 0xc
jmp 0x5096b9
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