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

Disassembly:
mov ecx, dword [0x78bd58]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x510e39
sub esp, 0x84
lea edi, [esp + 0x70]
lea esi, [esp + 0x88]
call fcn.004705fe
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
shl edx, 8
shr ecx, 0x18
or ecx, edx
mov dword [esp + 0x30], ecx
cmp cl, 0x64
jb 0x5106e9
movzx edx, cl
imul edx, edx, 0x148
shr edx, 0xf
movzx eax, dl
cmp eax, 0x10
jae 0x510e2e
mov edx, dword [esp + 0xa0]
inc edx
lea ebx, [0x5dda07]
movzx ebp, byte [ebx + eax]
mov ebx, dword [esp + 0xa4]
cmp ebx, edx
jb 0x510699
mov eax, dword [esp + 0x9c]
jmp 0x5106df
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx ebp, byte [esp + 0x23]
mov ebx, ecx
mov ecx, dword [esp + 0x30]
xchg ebp, ebx
mov byte [edx + eax - 1], bl
xchg ebp, ebx
jmp 0x5106fe
mov ebx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
cmp cl, 0xa
jb 0x510796
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
xchg ebp, eax
movzx esi, al
xchg ebp, eax
imul esi, esi, 0x19a
shr esi, 0xc
lea esi, [esi + esi*4]
shl esi, 1
sub ebp, esi
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x510e22
inc edx
mov esi, edx
lea edx, [0x5dda07]
movzx ebp, byte [edx + ebp]
cmp ebx, esi
jae 0x51078c
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
movzx ebp, byte [esp + 0x23]
mov esi, edx
lea edx, [0x5dda07]
xchg ebp, ebx
mov byte [esi + eax - 1], bl
xchg ebp, ebx
jmp 0x51079e
mov esi, edx
lea edx, [0x5dda07]
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
lea ebp, [ebp + ebp*4]
shl ebp, 1
sub ecx, ebp
movzx ebp, cl
cmp ebp, 0x10
jae 0x510e16
lea ecx, [esi + 1]
movzx ebp, byte [edx + ebp]
cmp ebx, ecx
jae 0x510808
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [0x5dda07]
movzx ebp, byte [esp + 0x23]
xchg ebp, ebx
mov byte [ecx + eax - 1], bl
xchg ebp, ebx
inc ecx
cmp ebx, ecx
jae 0x510849
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [0x5dda07]
mov dword [esp + 0x2c], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x5c]
lea esi, [esp + 0x88]
call fcn.004705fe
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 0x68]
shl ebp, 0x10
shr ecx, 0x10
or ecx, ebp
mov dword [esp + 0x30], ecx
cmp cl, 0x64
jb 0x5108f3
movzx ebp, cl
imul ebp, ebp, 0x148
shr ebp, 0xf
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x510e0a
mov esi, ebx
mov ebx, dword [esp + 0x2c]
inc ebx
movzx ebp, byte [edx + ebp]
cmp esi, ebx
jae 0x5108e9
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [0x5dda07]
movzx ebp, byte [esp + 0x23]
mov esi, ecx
mov ecx, dword [esp + 0x30]
xchg ebp, ecx
mov byte [ebx + eax - 1], cl
xchg ebp, ecx
jmp 0x5108f9
mov esi, ebx
mov ebx, dword [esp + 0x2c]
cmp cl, 0xa
jb 0x510985
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
xchg ebp, eax
movzx edi, al
xchg ebp, eax
imul edi, edi, 0x19a
shr edi, 0xc
lea edi, [edi + edi*4]
shl edi, 1
sub ebp, edi
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x510dfe
inc ebx
movzx ebp, byte [edx + ebp]
cmp esi, ebx
jae 0x51097d
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
lea edx, [0x5dda07]
movzx ebp, byte [esp + 0x23]
xchg ebp, ecx
mov byte [ebx + eax - 1], cl
xchg ebp, ecx
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
lea ebp, [ebp + ebp*4]
shl ebp, 1
sub ecx, ebp
movzx ebp, cl
cmp ebp, 0x10
jae 0x510df2
lea ecx, [ebx + 1]
movzx ebx, byte [edx + ebp]
cmp esi, ecx
jae 0x5109ed
mov byte [esp + 0x23], bl
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edx, [0x5dda07]
movzx ebx, byte [esp + 0x23]
mov byte [ecx + eax - 1], bl
inc ecx
cmp esi, ecx
jae 0x510a2a
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edx, [0x5dda07]
mov dword [esp + 0x28], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x48]
mov ebx, esi
lea esi, [esp + 0x88]
call fcn.004705fe
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
shr ecx, 8
shl ebp, 0x18
or ebp, ecx
mov dword [esp + 0x30], ebp
xchg ebp, eax
cmp al, 0x64
xchg ebp, eax
jb 0x510ad2
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
imul ecx, ecx, 0x148
shr ecx, 0xf
movzx ecx, cl
cmp ecx, 0x10
jae 0x510de6
mov esi, ebp
mov ebp, dword [esp + 0x28]
inc ebp
movzx ecx, byte [edx + ecx]
cmp ebx, ebp
jae 0x510acc
mov byte [esp + 0x23], cl
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
lea edx, [0x5dda07]
mov ebx, esi
mov esi, dword [esp + 0x30]
mov byte [ebp + eax - 1], cl
jmp 0x510ad8
mov esi, ebp
mov ebp, dword [esp + 0x28]
xchg esi, eax
cmp al, 0xa
xchg esi, eax
jb 0x510b5a
xchg esi, eax
movzx ecx, al
xchg esi, eax
imul ecx, ecx, 0x19a
shr ecx, 0xc
movzx edi, cl
imul edi, edi, 0x19a
shr edi, 0xc
lea edi, [edi + edi*4]
shl edi, 1
sub ecx, edi
movzx ecx, cl
cmp ecx, 0x10
jae 0x510dda
inc ebp
movzx ecx, byte [edx + ecx]
cmp ebx, ebp
jae 0x510b56
mov byte [esp + 0x23], cl
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
lea edx, [0x5dda07]
mov esi, dword [esp + 0x30]
mov byte [ebp + eax - 1], cl
xchg esi, eax
movzx ecx, al
xchg esi, eax
imul ecx, ecx, 0x19a
shr ecx, 0xc
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub esi, ecx
xchg esi, eax
movzx ecx, al
xchg esi, eax
cmp ecx, 0x10
jae 0x510dce
inc ebp
movzx ecx, byte [edx + ecx]
cmp ebx, ebp
jae 0x510bc3
mov byte [esp + 0x23], cl
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
lea edx, [0x5dda07]
mov byte [ebp + eax - 1], cl
lea ecx, [ebp + 1]
cmp ebx, ecx
jae 0x510c02
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [0x5dda07]
mov dword [esp + 0x24], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x34]
lea esi, [esp + 0x88]
call fcn.004705fe
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], ecx
cmp cl, 0x64
jb 0x510c9c
movzx ebp, cl
imul ebp, ebp, 0x148
shr ebp, 0xf
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x510dc2
mov esi, dword [esp + 0x24]
inc esi
movzx ebp, byte [edx + ebp]
cmp ebx, esi
jae 0x510c92
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
lea edx, [0x5dda07]
movzx ebp, byte [esp + 0x23]
xchg ebp, ebx
mov byte [esi + eax - 1], bl
xchg ebp, ebx
jmp 0x510ca0
mov esi, dword [esp + 0x24]
cmp cl, 0xa
jb 0x510d2c
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
xchg ebp, eax
movzx edi, al
xchg ebp, eax
imul edi, edi, 0x19a
shr edi, 0xc
lea edi, [edi + edi*4]
shl edi, 1
sub ebp, edi
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x510db6
inc esi
movzx ebp, byte [edx + ebp]
cmp ebx, esi
jae 0x510d24
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
lea edx, [0x5dda07]
movzx ebp, byte [esp + 0x23]
xchg ebp, ebx
mov byte [esi + eax - 1], bl
xchg ebp, ebx
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
lea ebp, [ebp + ebp*4]
shl ebp, 1
sub ecx, ebp
movzx ebp, cl
cmp ebp, 0x10
jae 0x510daa
lea ecx, [esi + 1]
movzx edx, byte [edx + ebp]
cmp ebx, ecx
jae 0x510d8a
mov byte [esp + 0x23], dl
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5b1ec0]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esp + 0x23]
mov byte [ecx + eax - 1], dl
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ebx
add esp, 0x84
ret
mov eax, ebp
mov ecx, 0x10
call fcn.0046ff60
mov eax, ebp
mov ecx, 0x10
call fcn.0046ff60
mov eax, ebp
mov ecx, 0x10
call fcn.0046ff60
mov eax, ecx
mov ecx, 0x10
call fcn.0046ff60
mov eax, ecx
mov ecx, 0x10
call fcn.0046ff60
mov eax, ecx
mov ecx, 0x10
call fcn.0046ff60
mov eax, ebp
mov ecx, 0x10
call fcn.0046ff60
mov eax, ebp
mov ecx, 0x10
call fcn.0046ff60
mov eax, ebp
mov ecx, 0x10
call fcn.0046ff60
mov eax, ebp
mov ecx, 0x10
call fcn.0046ff60
mov eax, ebp
mov ecx, 0x10
call fcn.0046ff60
mov ecx, 0x10
call fcn.0046ff60
nop
call fcn.0046eae0
jmp fcn.00510610